Bond

Everyone knows of the secret agent double-oh-seven, the popular Bond (James Bond). A lesser known fact is that he actually did not perform most of his missions by himself; they were instead done by his cousins, Jimmy Bonds. Bond (James Bond) has grown weary of having to distribute assign missions to Jimmy Bonds every time he gets new missions so he has asked you to help him out.

Every month Bond (James Bond) receives a list of missions.
Using his detailed intelligence from past missions, for every
mission and for every Jimmy Bond he calculates the probability
of that particular mission being successfully completed by that
particular Jimmy Bond. Your program should process that data
and find the arrangement that will result in the greatest
probability that all missions are completed successfully. Note
that the number of missions is equal to the number of Bonds, so
that every Jimmy Bond needs to be assigned *a single
mission* each.

**Note**: the probability of all
missions being completed successfully is equal to the product
of the probabilities of the single missions being completed
successfully.

The first line will contain an integer $N$, the number of Jimmy Bonds and missions ($1 \le N \le 20$).

The following $N$ lines will contain $N$ integers between $0$ and $100$, inclusive. The $j$:th integer on the $i$:th line is the probability that Jimmy Bond $i$ would successfully complete mission $j$, given as a percentage.

Output the maximum probability of Jimmy Bonds successfully completing all the missions, as a percentage.

Your answer should have an absolute error of at most $10^{-6}$.

If Jimmy bond $1$ is assigned the $3$:rd mission, Jimmy Bond $2$ the $1$:st mission and Jimmy Bond $3$ the $2$:nd mission the probability is: $1.0 \cdot 0.13 \cdot 0.7 = 0.091 = 9.1\% $. All other arrangements give a smaller probability of success.

Sample Input 1 | Sample Output 1 |
---|---|

2 100 100 50 50 |
50 |

Sample Input 2 | Sample Output 2 |
---|---|

2 0 50 50 0 |
25 |

Sample Input 3 | Sample Output 3 |
---|---|

3 25 60 100 13 0 50 12 70 90 |
9.1 |