#### Registered Users Only

Please login to utilize this feature.

Do note that this website only supports submissions in C++.

### Title

### Problem Statement

An adult game master and `N` children are playing a game on an ice rink.
The game consists of `K` rounds.
In the `i`-th round, the game master announces:

- Form groups consisting of
`A`children each!_{i}

Then the children who are still in the game form as many groups of `A _{i}` children as possible.
One child may belong to at most one group.
Those who are left without a group leave the game. The others proceed to the next round.
Note that it's possible that nobody leaves the game in some round.

In the end, after the `K`-th round, there are exactly two children left, and they are declared the winners.

You have heard the values of `A _{1}`,

`A`, ...,

_{2}`A`. You don't know

_{K}`N`, but you want to estimate it.

Find the smallest and the largest possible number of children in the game before the start, or determine that no valid values of `N` exist.

### Constraints

`1 ≤ K ≤ 10`^{5}`2 ≤ A`_{i}≤ 10^{9}- All input values are integers.

### Input

Input is given from Standard Input in the following format:

KA_{1}A_{2}...A_{K}

### Output

Print two integers representing the smallest and the largest possible value of `N`, respectively,
or a single integer `-1` if the described situation is impossible.

### Sample Input 1

4 3 4 3 2

### Sample Output 1

6 8

For example, if the game starts with `6` children, then it proceeds as follows:

- In the first round,
`6`children form`2`groups of`3`children, and nobody leaves the game. - In the second round,
`6`children form`1`group of`4`children, and`2`children leave the game. - In the third round,
`4`children form`1`group of`3`children, and`1`child leaves the game. - In the fourth round,
`3`children form`1`group of`2`children, and`1`child leaves the game.

The last `2` children are declared the winners.

### Sample Input 2

5 3 4 100 3 2

### Sample Output 2

-1

This situation is impossible.
In particular, if the game starts with less than `100` children, everyone leaves after the third round.

### Sample Input 3

10 2 2 2 2 2 2 2 2 2 2

### Sample Output 3

2 3

### Tags

### Subtasks and Limits

Subtask | Score | #TC | Time | Memory | Scoring |
---|---|---|---|---|---|

1 | 100 | 30 | 1s | 256MB | Minimum |

2 | 0 | 3 | 1s | 256MB | Minimum |

### Judge Compile Command

g++-7 ans.cpp -o icegame -Wall -static -O2 -lm -m64 -s -w -std=gnu++17 -fmax-errors=512