#include <iostream>
using namespace std;

int main(void) {
  /* code */
  /* A,Tの数、C,Gの数がそれぞれ等しい*/
  /* １文字ずつ足していき、最後の文字を含めた部分文字列のみを捜索するDP法 */

  int N;
  string S;
  int answer = 0;

  std::cin >> N >> S;

  for (int i = 0; i < N; i++)
  {
    int c1 = 0;
    int c2 = 0;

    for (int j = i; j < N; j++)
      {
        switch(S[j])
          {
            case 'A':
              c1++;
              break;
            case 'T':
              c1--;
              break;
            case 'G':
              c2++;
              break;
            case 'C':
              c2--;
              break;
          }
          if (c1 == 0 && c2 == 0)
          {
            answer++;
          }
      }
    }

  std::cout << answer << '\n';

  return 0;
}

#include <bits/stdc++.h>

#define rep(i, n) for(int i=0; i<(int)(n); i++)
#define FILL0(x) memset(x,0,sizeof(x))
#define FILL1(x) memset(x,-1,sizeof(x))

using namespace std;

typedef long long ll;
typedef pair<ll, ll> P;

template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }
 

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout << fixed << setprecision(20);

    int a, b;
    cin >> a >> b;

    cout << (a+b)/2 << " " << (a-b)/2 << endl;



    return 0;

}
