/*
#include <stdio.h>
int main()
{
int i, n, b=0, k=0, j, a[1001];
scanf("%d", &n);
for(i=1; i<=n; i++)
{
scanf("%d", &a[i]);
}
for(i=1; i<=n; i++)
{
if(a[i] == 1)
{
b++;
if(a[i-1]==1)
{
k=k+b;
}
else
{
k=k+1;
}
}
else if(a[i]==0)
{
b=0;
}
}
printf("%d", k);
}
m+i==n
*/
/*
#include <stdio.h>
int main()
{
int a[100001]={}, b, n, m, i, j, k=0, max=-10000, temp;
scanf("%d %d", &n, &m);
for(i=1; i<=n; i++)
{
scanf("%d", &a[i]);
}
for(i=1; i<=n; i++)
{
if(n==m)
{
k=k+a[i];
}
}
for(i=0; i<=n-m; i++)
{
k=0;
for(j=i+1; j<=m+i; j++)
{
k=k+a[j];
}
if(k>max)
{
temp = k;
k = max;
max = temp;
}
}
printf("%d", max);
}
*/
/*
#include <stdio.h>
int main()
{
int a, b, n;
scanf("%d %d", &a, &b);
scanf("%d", &n);
if(b+n>=60)
{
a=a+(b+n)/60;
b=(b+n)%60;
}
else
{
b=b+n;
}
if(a>=24)
{
if(a%24==0)
{
a=0;
}
a= a%24;
}
printf("%d %d", a, b);
}
*/
#include <stdio.h>
int main()
{
int i, n, k, j, b=0,c=0; //b=현재 놓여있는 막대 갯수
char a[100001];
scanf("%s", a);
for(i=0; i<strlen(a); i++)
{
if(a[i] == '('&&a[i+1] == ')')
{
c=c+b;
}
else if(a[i] == '(')
{
b++;
}
else
{
b--;
}
}
printf("%d",c);
}