#include <bits/stdc++.h>
using namespace std;
const int N = 5005;
char s[N];
int v[N], a[N], mn[N], f[4][N];
int main() {
  scanf("%s", s);
  int n, i, j, k, t, Ans = 0;
  n = strlen(s);
  for (i = 0; i < n; i++)
    if (s[i] == ')')
      a[i] = -1;
    else
      a[i] = 1;
  if (s[0] == '(') f[1][0] = 1;
  if (s[0] == ')') f[2][0] = 1;
  if (s[0] == '?') f[3][0] = 1;
  for (i = 1; i < n; i++) {
    for (j = 1; j <= 3; j++) f[j][i] = f[j][i - 1];
    if (s[i] == '(') f[1][i]++;
    if (s[i] == ')') f[2][i]++;
    if (s[i] == '?') f[3][i]++;
  }
  for (i = 0; i < n; i++) {
    int sm = 0;
    j = i;
    while (j < n) {
      sm += a[j];
      if (sm < 0) break;
      j++;
    }
    j--;
    v[j + 1] = 0;
    for (k = j; k >= i; k--) {
      if (s[k] == '(')
        v[k] = v[k + 1] - 1;
      else
        v[k] = v[k + 1] + 1;
    }
    mn[i] = v[i];
    for (k = i + 1; k <= j; k++) mn[k] = min(mn[k - 1], v[k]);
    sm = 0;
    for (k = j; k >= i; k--) {
      if (mn[k] - sm >= 0) {
        int n1, n2, n3;
        if (i == 0)
          n1 = f[1][k];
        else
          n1 = f[1][k] - f[1][i - 1];
        if (i == 0)
          n2 = f[2][k];
        else
          n2 = f[2][k] - f[2][i - 1];
        if (i == 0)
          n3 = f[3][k];
        else
          n3 = f[3][k] - f[3][i - 1];
        if (abs(n1 - n2) <= n3 && !((k - i + 1) % 2)) {
          Ans++;
        }
      }
      if (s[k] == '(')
        sm--;
      else
        sm++;
    }
  }
  printf("%d", Ans);
  return 0;
}
