const fs = require('fs');
const input = fs.readFileSync(0, 'utf8').trim();
const countValidByOneFlip = (s) => {
const n = s.length;
let bal = 0;
for (const c of s) bal += c === '(' ? 1 : -1;
if (Math.abs(bal) !== 2) return 0;
const pref = new Array(n);
let x = 0;
for (let i = 0; i < n; i++) {
x += s[i] === '(' ? 1 : -1;
pref[i] = x;
}
const suffMin = new Array(n + 1);
suffMin[n] = 1e9;
x = 0;
for (let i = n - 1; i >= 0; i--) {
x += s[i] === '(' ? 1 : -1;
suffMin[i] = Math.min(x, suffMin[i + 1]);
}
let target, delta;
if (bal === -2) {
target = ')';
delta = 2;
} else {
target = '(';
delta = -2;
}
let ans = 0;
for (let i = 0; i < n; i++) {
if (s[i] !== target) continue;
if (i > 0 && pref[i - 1] < 0) continue;
if (suffMin[i + 1] + delta < 0) continue;
ans++;
}
return ans;
}
console.log(countValidByOneFlip(input));
Y29uc3QgZnMgPSByZXF1aXJlKCdmcycpOwpjb25zdCBpbnB1dCA9IGZzLnJlYWRGaWxlU3luYygwLCAndXRmOCcpLnRyaW0oKTsKCmNvbnN0IGNvdW50VmFsaWRCeU9uZUZsaXAgPSAocykgPT4gewogICAgY29uc3QgbiA9IHMubGVuZ3RoOwoKICAgIGxldCBiYWwgPSAwOwogICAgZm9yIChjb25zdCBjIG9mIHMpIGJhbCArPSBjID09PSAnKCcgPyAxIDogLTE7CgogICAgaWYgKE1hdGguYWJzKGJhbCkgIT09IDIpIHJldHVybiAwOwoKICAgIGNvbnN0IHByZWYgPSBuZXcgQXJyYXkobik7CiAgICBsZXQgeCA9IDA7CiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIHggKz0gc1tpXSA9PT0gJygnID8gMSA6IC0xOwogICAgICAgIHByZWZbaV0gPSB4OwogICAgfQoKICAgIGNvbnN0IHN1ZmZNaW4gPSBuZXcgQXJyYXkobiArIDEpOwogICAgc3VmZk1pbltuXSA9IDFlOTsKICAgIHggPSAwOwogICAgZm9yIChsZXQgaSA9IG4gLSAxOyBpID49IDA7IGktLSkgewogICAgICAgIHggKz0gc1tpXSA9PT0gJygnID8gMSA6IC0xOwogICAgICAgIHN1ZmZNaW5baV0gPSBNYXRoLm1pbih4LCBzdWZmTWluW2kgKyAxXSk7CiAgICB9CgogICAgbGV0IHRhcmdldCwgZGVsdGE7CiAgICBpZiAoYmFsID09PSAtMikgewogICAgICAgIHRhcmdldCA9ICcpJzsKICAgICAgICBkZWx0YSA9IDI7CiAgICB9IGVsc2UgewogICAgICAgIHRhcmdldCA9ICcoJzsKICAgICAgICBkZWx0YSA9IC0yOwogICAgfQoKICAgIGxldCBhbnMgPSAwOwoKICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgaWYgKHNbaV0gIT09IHRhcmdldCkgY29udGludWU7CgogICAgICAgIGlmIChpID4gMCAmJiBwcmVmW2kgLSAxXSA8IDApIGNvbnRpbnVlOwoKICAgICAgICBpZiAoc3VmZk1pbltpICsgMV0gKyBkZWx0YSA8IDApIGNvbnRpbnVlOwoKICAgICAgICBhbnMrKzsKICAgIH0KCiAgICByZXR1cm4gYW5zOwp9Cgpjb25zb2xlLmxvZyhjb3VudFZhbGlkQnlPbmVGbGlwKGlucHV0KSk7