JOIN

 Problem Statement

Problem Statement for Undivisors

### Problem Statement

The submatrix of a matrix is any non-empty contiguous rectangular subarray of the matrix. In other words, each submatrix is uniquely determined by a non-empty range of rows and a non-empty range of columns of the original matrix. For example, a 3x3 matrix has exactly 36 different submatrices. Hero has a matrix of positive integers. He is now going to perform the following steps:
1. He will choose a submatrix A of his matrix uniformly at random. (Each possible submatrix has the same probability of being chosen, regardless of its size.)
2. He will choose a submatrix B of his matrix uniformly at random. (B may be the same submatrix as A.)
3. He will find the set S of numbers that occur in at least one of A and B.
4. He will calculate X: the least common multiple of all numbers in S.
5. He will find the smallest positive integer Y that does not divide X.
You are given Hero's matrix encoded in the String[] a. Elements of a represent rows of Hero's matrix from top to bottom. Characters of each element represent the values in that row from left to right, using the following map:
• The characters '1'-'9' represent the values 1-9.
• The characters 'A'-'Z' represent the values 10-35.
• The characters 'a'-'z' represent the values 36-61.
Find and return the expected value of Y.

### Definition

 Class: Undivisors Method: getexp Parameters: String[] Returns: double Method signature: double getexp(String[] a) (be sure your method is public)

### Constraints

-n will be between 1 and 50, inclusive.
-m will be between 1 and 50, inclusive.
-a will contain exactly n elements.
-Each element of a will contain exactly m characters.
-Each character in a will be either a non-zero digit ('1'-'9') or lowercase letter ('a'-'z') or uppercase letter ('A'-'Z').

### Examples

0)

 ```{"11" ,"11"}```
`Returns: 2.0`
 Regardless of the choice of A and B, the set S will always be {1}, its least common multiple will always be X = 1, and the smallest integer that does not divide 1 is Y = 2.
1)

 `{"234"}`
`Returns: 4.5`
 A will be one of {"2"}, {"3"}, {"4"}, {"23"}, {"34"}, or {"234"}. Independently of the choice of A we will then have the same six possibilities for B. Here are all possible outcomes of Hero's procedure: With probability 1/36 we have S = {2}, X = 2, and Y = 3. With probability 1/36 we have S = {3}, X = 3, and Y = 2. With probability 1/36 we have S = {4}, X = 4, and Y = 3. With probability 7/36 we have S = {2,3}, X = 6, and Y = 4. With probability 7/36 we have S = {3,4}, X = 12, and Y = 5. With probability 2/36 we have S = {2,4}, X = 4, and Y = 3. With probability 17/36 we have S = {2,3,4}, X = 12, and Y = 5. Hence, the expected value of Y is (1*3 + 1*2 + 1*3 + 7*4 + 7*5 + 2*3 + 17*5) / 36 = 4.5.
2)

 `{"4356"}`
`Returns: 5.4`
3)

 ```{"12" ,"11"}```
`Returns: 2.691358024691358`
4)

 ```{"2345" ,"AEa9"}```
`Returns: 6.34`
5)

 ```{"ABC2DE" ,"abc3de"}```
`Returns: 6.668430335097002`
6)

 ```{"ztTxP64OvgP", "MYp2q3YQwS1", "9BwRVK4SvFL", "VQHojP7HyjF", "Il4ZCEs7vxP", "dEvUxcOqw9v", "f5wmo9OigOD", "CUhrwte35Af", "LVn1kAmNgOU", "bhVmE2bgzHo", "1NPp2dXsc4g", "LqUEuGQmJfK", "ewihrw9MHPQ", "T7Ru3udY5IK"}```
`Returns: 21.728568950690164`

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2010, TopCoder, Inc. All rights reserved.

This problem was used for:
Single Round Match 691 Round 1 - Division I, Level Three