class Solution {
public int minAddToMakeValid(String S) {
if(S.length()==0)
return 0;
if(S.length()==1)
return 1;
List<Character> list=new ArrayList<>();
for(int i=0;i<S.length();i++){
if(S.charAt(i)=='(')
list.add('(');
else if(S.charAt(i)==')' && list.size()>0 && list.get(list.size()-1)=='(')
list.remove(list.size()-1);
else
list.add(')');
}
return list.size();
}
}