### COCI 2009/2010, Contest #4

## Task IKS

Mirkos great grandmother Katica is an avid mathematician. She likes to torment Mirko with math games. This time she wrote down a sequence of numbers on a piece of paper and told Mirko he may do the following:

- Choose any two numbers in the sequence (let's call them
**A**and**B**) and a**prime number X such that A is divisible by X**. After that, Mirko erases**A**and writes*A ÷ X*in its place. In the end he erases**B**and writes*B × X*in its place.

Mirko may perform this operation as many times he wants. His goal is to obtain the maximum possible score, because he gets candy from his great grandmother if he does so. The score for one sequence is the **greatest common divisor of all the numbers in the sequence.**

He is not very good at this, and he likes his candy so he has asked you to help him. Write a program that will calculate the maximum possible score. Since you are such a nice guy, you should also print the **smallest number** of times Mirko must perform the operation to obtain the maximum possible score.

### Input

The first line of input contains one integer **N** (1 ≤ **N** ≤ 100), the number of elements in the starting sequence.

The second line of input contains **N** positive integers smaller than or equal to **1 000 000**, the sequence Katica gave to Mirko.

### Output

The one and only line of output should contain two integers. The first integer is the maximal possible score Mirko can obtain. The second integer is the smallest number of operations Mirko needs to perform to obtain it.

### Sample Tests

## Input3 4 4 1 ## Output2 1 |
## Input3 8 24 9 ## Output12 3 |
## Input5 4 5 6 7 8 ## Output2 2 |

All Submissions

Best Solutions

**Point Value:** 15

**Time Limit:** 1.00s

**Memory Limit:** 32M

**Added:** Jul 02, 2013

**Languages Allowed:**

C++03, PAS, C, HASK, ASM, RUBY, PYTH2, JAVA, PHP, SCM, CAML, PERL, C#, C++11, PYTH3

## Comments (Search)

It's quiet in here...