n=int(input()) s=input().split("0") ans=1 p=0 m=0 vp=[] vm=[] for i,si in enumerate(s): if len(si)==0: ans=max(ans,m+1) else: np=0 nm=0 f=[0] for sii in si: if sii=="-": nm+=1 f.append(f[-1]+1) else: np+=1 f.append(f[-1]) vp.append(np) vm.append(nm) f=f[1:] si=si[::-1] b=[0] for sii in si: if sii=="+": b.append(b[-1]+1) else: b.append(b[-1]) b=b[1:] b.reverse() for fi,bi in zip(f,b): ans=max(ans,fi+bi+1) if i==0: ans=max(ans,nm) ans=max(ans,np) else: ans=max(ans,m+np+1) m=nm p=np for i in range(len(vp)): for j in range(i+1,len(vp)): ans=max(ans,vm[i]+vp[j]+1) print(ans)