Problem Statement  
You will be given 2 int[]s charPoly and minPoly, each containing N positive integers. A Jordan form is determined by choosing, for each index i, a partition of charPoly[i] such that no component of the partition exceeds minPoly[i] and at least 1 component is equal to minPoly[i]. A partition of a value v is an ordered list of positive integers that sum to v. Two Jordan forms are equivalent if they have the same partition for each i. Return the number of distinct Jordan forms mod 179424673.  
Definition  
 
Constraints  
  charPoly will contain between 1 and 50 elements, inclusive.  
  minPoly will contain the same number of elements as charPoly.  
  Each element of charPoly will be between 1 and 4000, inclusive.  
  Element i of minPoly will be between 1 and charPoly[i], inclusive.  
Examples  
0)  
 
1)  
 
2)  
 
3)  
