import java.util.Stack
fun main() {
val br = System.`in`.bufferedReader()
val stack = Stack<Char>()
val str = br.readLine()
var prevOpen = false
var count = 0
for (c in str) {
when (c) {
'(' -> {
prevOpen = true
stack.push(c)
}
')' -> {
if (prevOpen) {
stack.pop()
count += stack.size
} else {
stack.pop()
}
prevOpen = false
}
}
}
println(count)
}
aW1wb3J0IGphdmEudXRpbC5TdGFjawoKZnVuIG1haW4oKSB7CiAgICB2YWwgYnIgPSBTeXN0ZW0uYGluYC5idWZmZXJlZFJlYWRlcigpCiAgICB2YWwgc3RhY2sgPSBTdGFjazxDaGFyPigpCgogICAgdmFsIHN0ciA9IGJyLnJlYWRMaW5lKCkKICAgIHZhciBwcmV2T3BlbiA9IGZhbHNlCiAgICB2YXIgY291bnQgPSAwCiAgICBmb3IgKGMgaW4gc3RyKSB7CiAgICAgICAgd2hlbiAoYykgewogICAgICAgICAgICAnKCcgLT4gewogICAgICAgICAgICAgICAgcHJldk9wZW4gPSB0cnVlCiAgICAgICAgICAgICAgICBzdGFjay5wdXNoKGMpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgJyknIC0+IHsKICAgICAgICAgICAgICAgIGlmIChwcmV2T3BlbikgewogICAgICAgICAgICAgICAgICAgIHN0YWNrLnBvcCgpCiAgICAgICAgICAgICAgICAgICAgY291bnQgKz0gc3RhY2suc2l6ZQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBzdGFjay5wb3AoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcHJldk9wZW4gPSBmYWxzZQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgCiAgICBwcmludGxuKGNvdW50KQp9