class Solution {
public:
vector<string> Fres;
void helper(string res, int num_open,int num_close)
{
if(num_close==0 && num_open==0)
{
Fres.push_back(res);
return;
}
if(num_open>0)
{
res.push_back('(');
helper(res,num_open-1,num_close);
}
if(num_open<num_close)
{
res.push_back(')');
helper(res,num_open,num_close-1);
}
}
vector<string> generateParenthesis(int n) {
helper("",n,n);
return Fres;
}
};