Parentheses

Time Limit:1000MS  Memory Limit:65535KB
Description:
Given a string of parentheses, you must turn it into a well formed string by inserting as few parentheses as possible, at any position (you cannot delete or change any of the existing parentheses).
 
A well formed string of parentheses is defined by the following rules:
  -The empty string is well formed.
  -If s is a well formed string, (s) is a well formed string.
  -If s and t are well formed strings, their concatenation st is a well formed string.
 
As examples, "(()())", "" and "(())()" are well formed strings and "())(", "()(" and ")" are malformed strings.
Input:
Input a string par of parentheses,and the par will contain between 1 and 60 characters, inclusive.Each character of par will be an opening or closing parenthesis, i.e., '(' or ')'.Proccess to the end of file.
Output:
Output the minimum number of parentheses that need to be inserted to make it into a well formed string.
Sample test:
Input
(()(()
(())
Output
2
0
Note:
Source:
Author:
ACSolo