#include <bits/stdc++.h>
using namespace std;

typedef long long int lli;

int main() {
	ios::sync_with_stdio(false);
  cin.tie(0);
  int n;string s;
  cin >> n >> s;
  pair<int,int> a[n][n];
  for(int i=0;i<n;i++)
  {
    pair<int,int> temp(0,0);
    if(s[i] == 'A')
      temp.first = 1;
    else if(s[i] == 'T')
      temp.first = -1;
    else if(s[i] == 'C')
      temp.second = 1;
    else
      temp.second = -1;
    a[i][i] = temp;
  }
  lli count = 0;
  for(int len=1;len<n;len++)
  {
    int i=0;
    int j=i+len;
    while(j<n)
    {
      pair<int,int> temp = a[i][j-1];
      if(s[j] == 'A')
        temp.first++;
      else if(s[j] == 'T')
        temp.first--;
      else if(s[j] == 'C')
        temp.second++;
      else
        temp.second--;
      if(temp.first == 0 and temp.second == 0)
        count++;
      a[i][j] = temp;
      i++;
      j = i+len;
    }
  }
  cout << count << "\n";
	return 0;
}
#include <bits/stdc++.h>
using namespace std;
 
int main() {

  int H,W,X,Y;
  cin>>H>>W>>X>>Y;
  vector<vector<char>> S(H, vector<char>(W));
  for (int i = 0; i < H; i++) {
    for (int j = 0; j < W; j++) {
      cin >> S.at(i).at(j);
    }
  }
  
  string temp;
  temp = "#";
  int Z;
  Z=1;//位置するますの分
  //ここから左右を足す
  
  for (int i = Y-2; i > -1; i--){
    temp = S.at(X-1).at(i);
    if(temp=="."){
      Z++;
    }else{
      break;
    }
  }//左のぶん
  
  for (int i = Y; i < W; i++){
    temp = S.at(X-1).at(i);
    if(temp=="."){
      Z++;
    }else{
      break;
    }
  }//右のぶん
  
  for (int i = X-2; i > -1; i--){
    temp = S.at(i).at(Y-1);
    if(temp=="."){
      Z++;
    }else{
      break;
    }
  }//上のぶん
  
  for (int i = X; i < H; i++){
    temp = S.at(i).at(Y-1);
    if(temp=="."){
      Z++;
    }else{
      break;
    }
  }//したのぶん
  
  cout<<Z<<endl;
  
}