private void find(int opened, int closed, int n, String validPath)
	{
		
		//finish
		if(opened == n && closed == n)
		{
			if(!validCombinations.contains(validPath))			
				validCombinations.add(validPath);
			return;
		}			
		
		//first pass or can we add a "(" ?
		if(opened == 0 || opened<n)
		{
			validPath += "(";
			find(++opened,closed, n, validPath);			
		}		

		//can we add a ")" ?
		if(opened>=closed && closed<n)
		{
			validPath += ")";
			find(opened,++closed, n, validPath);
		}
			
	}