小明很喜欢 2 的幂,所以他想对一个长度为 n 的正整数数组 {a1, a2, ..., an} 进行改造。他可以进行如下操作任意多次(可以是 0 次):任选一个数 ai 加上 任意正整数,但不能使得加完之后的结果超过 105。
在操作任意次后,小明希望所有数的乘积是 2 k 的倍数。他想知道总共需要加的数的总和至少是多少?
输入共两行。
第一行为两个正整数 n, k。
第二行为 n 个由空格分开的正整数 a1, a2, ..., an。
输出共 1 行,一个整数表示答案。如果不能满足条件,输出 −1。
3 9 19 10 3
12
【样例说明】
将三个数分别加到 24, 16, 4,它们的乘积为 1536 = 29 × 3,加的数的总和为 5 + 6 + 1 = 12。
【评测用例规模与约定】
对于 20% 的评测用例,n, k ≤ 10。
对于 100% 的评测用例,n ≤ 500,k ≤ 5000,ai ≤ 100000。