class String
def rgsub(pattern, replace)
s = gsub(pattern, replace)
self == s ? s : s.rgsub(pattern, replace)
end
end
def f9583(s)
s.size.odd? ? -1 : s.rgsub('()','').gsub(/\(\(|\)\)/,'*').size
end
a = %w[
)
())())
)()()(
)))(((
(())())((())(()(
())((())()))()(((()))()((((((((()()(()))
]
p a.map {|s| [s, f9583(s)]}
Y2xhc3MgU3RyaW5nCiAgZGVmIHJnc3ViKHBhdHRlcm4sIHJlcGxhY2UpCiAgICBzID0gZ3N1YihwYXR0ZXJuLCByZXBsYWNlKQogICAgc2VsZiA9PSBzID8gcyA6IHMucmdzdWIocGF0dGVybiwgcmVwbGFjZSkKICBlbmQKZW5kCmRlZiBmOTU4MyhzKQogIHMuc2l6ZS5vZGQ/ID8gLTEgOiBzLnJnc3ViKCcoKScsJycpLmdzdWIoL1woXCh8XClcKS8sJyonKS5zaXplCmVuZAphID0gJXdbCikKKCkpKCkpCikoKSgpKAopKSkoKCgKKCgpKSgpKSgoKCkpKCgpKAooKSkoKCgpKSgpKSkoKSgoKCgpKSkoKSgoKCgoKCgoKCkoKSgoKSkpCl0KcCBhLm1hcCB7fHN8IFtzLCBmOTU4MyhzKV19Cg==
[[")", -1], ["())())", 1], [")()()(", 2], [")))(((", 4], ["(())())((())(()(", 3], ["())((())()))()(((()))()((((((((()()(()))", 5]]