Problem Statement  
Elly and some of her friends (possibly none) are going to the movies. Their company consists of numFriends people, including Elly. Since they don't want to be spread across the entire hall, they decided to sit either in the same row or in the same column (though not necessarily next to one another). Your are given a String[] hall representing the layout of seats in the theater that are already taken. The jth character of the ith element of hall will be '#' if the seat at row i, column j is already taken and '.' if it is empty. Return the number of different ways for Elly and her friends to choose numFriends different empty seats so that their seating requirement is fulfilled. Two ways are considered different if there exists a person in their company that will sit in different seats in these two ways.  
Definition  
 
Constraints  
  numFriends will be between 1 and 8, inclusive.  
  hall will contain between 1 and 50 elements, inclusive.  
  Each element of hall will contain between 1 and 50 characters, inclusive.  
  All elements of hall will contain the same number of characters.  
  Each character in hall will be either '.' or '#'.  
Examples  
0)  
 
1)  
 
2)  
 
3)  
