编程题
### 问题描述
小蓝是一位魔法师,他掌握了一种强大的魔法技能,可以改变序列中元素的值。现在,小蓝面临一个魔法序列,他想通过使用魔法,使得序列中的所有元素相等。
序列长度为 $n$,每个元素都是一个正整数。小蓝可以选择使用魔法的次数,但每次使用魔法都需要花费 $w$ 的代价。每次使用魔法时,小蓝可以选择任意一个元素 $a_i$,并将其变为 $2 \times a_i$ 或者 $a_i / 2$(向下取整)。
现在,小蓝想知道,为了使得序列中的所有元素相等,最少需要花费多少代价。
请你帮助小蓝解决这个问题。
### 输入格式
第一行输入两个整数 $n$ 和 $w$,表示序列长度和每次使用魔法的代价 $(1 \leq n,w \leq 10^5)$。
第二行输入 $n$ 个整数 $a_i$,表示序列中的元素 $(1 \leq a_i \leq n)$。
### 输出格式
输出仅一行,包含一个整数,表示使得序列中的所有元素相等所需的最少代价。
### 样例输入
```
3 2
1 2 2
```
### 样例输出
```
2
```