#include <bits/stdc++.h>
using namespace std;
const int maxN = 5004;
char* s = (char*)malloc(maxN * sizeof(char));
int l;
bool dp1[maxN][maxN];
bool dp2[maxN][maxN];
int main() {
  scanf("%s", s);
  l = (int)strlen(s);
  long ans = 0;
  for (int i = 0; i < l; i++) {
    int d1 = 0;
    int d2 = 0;
    bool flag1 = true;
    bool flag2 = true;
    for (int j = i; j < l; j++) {
      if (s[j] == ')') {
        d1--;
      } else {
        d1++;
      }
      if (d1 < 0) {
        flag1 = false;
      }
      dp1[i][j] = flag1;
    }
    for (int j = i; j >= 0; j--) {
      if (s[j] == '(') {
        d2--;
      } else {
        d2++;
      }
      if (d2 < 0) {
        flag2 = false;
      }
      dp2[j][i] = flag2;
    }
  }
  for (int i = 0; i < l; i++) {
    for (int j = i + 1; j < l; j++) {
      ans += (dp1[i][j] && dp2[i][j] && (i - j) % 2) ? 1 : 0;
    }
  }
  cout << ans << endl;
  return 0;
}
