You are given a bracket sequence s consisting of n opening '(' and closing ')' brackets.

A regular bracket sequence is a bracket sequence that can be transformed into a correct arithmetic expression by inserting characters '1' and '+' between the original characters of the sequence. For example, bracket sequences "()()", "(())" are regular (the resulting expressions are: "(1)+(1)", "((1+1)+1)"), and ")(" and "(" are not.

You can change the type of some bracket s_i. It means that if s_i =  ')' then you can change it to '(' and vice versa.

Your task is to calculate the number of positions i such that if you change the type of the i-th bracket, then the resulting bracket sequence becomes regular.

Input

The first line of the input contains one integer n (1 ≤ n ≤ 10^6) — the length of the bracket sequence.

The second line of the input contains the string s consisting of n opening '(' and closing ')' brackets.

Output

Print one integer — the number of positions i such that if you change the type of the i-th bracket, then the resulting bracket sequence becomes regular.

Examples

Input


6
(((())


Output


3


Input


6
()()()


Output


0


Input


1
)


Output


0


Input


8
)))(((((


Output


0
def c(a):
	if a=='(':
		return 1
	else:
		return -1
n=int(input())
s=input()
sc=s
rev=[]
for i in sc:
	rev.append(i)
rev=rev[::-1]
for i in range(n):
	if rev[i]==')':
		rev[i]='('
	else:
		rev[i]=')'
pre=[0]*(n+1)
suf=[0]*(n+1)
okpre=[False]*(n+1)
oksuf=[False]*(n+1)
okpre[0]=True
oksuf[n]=True
for i in range(n):
	pre[i+1]=pre[i]+c(s[i])
	okpre[i+1]=okpre[i]&(pre[i+1]>=0)
	suf[n-i-1]=suf[n-i]+c(rev[i])
	oksuf[n-i-1]=oksuf[n-i]&(suf[n-i-1]>=0)
# print(pre)
# print(suf)
ans=0
for i in range(n):
	if (not oksuf[i+1]) or (not okpre[i]):
		continue
	if s[i]=='(':
		if pre[i]>0 and (pre[i]-suf[i+1]-1)==0:
			ans+=1
	else:
		if pre[i]+1-suf[i+1]==0:
			ans+=1
print(ans)