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