Mike is playing a strange video game!

There are enemies that Mike is able to attack. The -th enemy initially has an HP of .

In one attack, Mike can select a subset of the enemies containing at least enemies, and a positive integer such that . He must choose the subset and the value of such that is a factor of the HPs of all enemies in the subset. Then, the HPs of all enemies in the subset will be divided by .

Mike wants to attack the enemies as many times as possible. Can you help Mike find the maximum number of times he can perform an attack?

#### Constraints

##### Subtask 1 [20%]

##### Subtask 2 [40%]

##### Subtask 3 [40%]

No additional constraints.

#### Input Specification

The first line contains a two space separated integer containing the values of and .

The next line contains space separated integers, , representing the initial HPs of the enemies.

#### Output Specification

On a single line, print the maximum possible number of attacks which can be performed.

#### Sample Input

```
3 2
5 12 10
```

#### Sample Output

`2`

#### Explanation

For the first attack, Mike can choose the first and third enemies in his subset, and choose . The HP of the first enemy is reduced to , and the HP of the third enemy is reduced to .

For the second attack, Mike can choose the second and third enemies in his subset, and choose . The HP of the second enemy is reduced to , and the HP of the third enemy is reduced to .

At this point, Mike cannot perform any more attacks. It can be shown that is the maximum possible number of attacks which Mike can perform.

## Comments