Problem Statement 
 You are playing a game of cards in which the number of straights, i.e., sets of consecutivevalued cards, determines the strength of your hand. You will be given a int[] hand, where the ith element of hand is the number of cards of value i in your hand. You should return the number of straights of length k. For example, suppose you have the hand:
 2 of spades
 2 of diamonds
 2 of clubs
 3 of clubs
 4 of hearts
 4 of clubs
You would be given hand = { 0, 3, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 }. The number of twocard straights is 5:
 2 of spades, 3 of clubs
 2 of diamonds, 3 of clubs
 2 of clubs, 3 of clubs
 3 of clubs, 4 of hearts
 3 of clubs, 4 of clubs


Definition 
 Class:  Straights  Method:  howMany  Parameters:  int[], int  Returns:  int  Method signature:  int howMany(int[] hand, int k)  (be sure your method is public) 




Notes 
  Straights do not wrap around: if hand is {1,0,0,0,0,0,0,0,0,0,0,0,1}, you have no straights of length 2. 

Constraints 
  hand will contain exactly 13 elements. 
  Each element of hand will be between 0 and 4 inclusive. 
  k will be between 1 and 13 inclusive. 

Examples 
0)  
 {0,3,1,2,0,0,0,0,0,0,0,0,0}  2 
 Returns: 5  

1)  
 {1,1,1,1,1,1,1,1,1,1,1,1,1}  5 
 Returns: 9  Say hand[0] references Aces. There are 9 ways to make a straight of length 5: AceFive up to NineKing. 


2)  
 {4,4,4,4,4,4,4,4,4,4,4,4,4}  13 
 Returns: 67108864  

3)  
 {4,0,4,0,4,0,4,0,4,0,4,0,4}  2 
 Returns: 0  Straights do not wrap around; we have no straights here. 


4)  
 {1,2,3,4,1,2,3,4,1,2,3,4,1}  1 
 Returns: 31  
