Make Equal

题意翻译

给出 $ n $ 个数字 $ a_1 , a_2 , \ldots , a_n $ ,每次操作可以给其中一个数加上 $ 2 $ 的非负整数次幂。求最少的操作次数,使得这 $ n $ 个数相等。

题目描述

You are given $ n $ numbers $ a_1, a_2, \dots, a_n $ . In one operation we can add to any one of those numbers a nonnegative integer power of $ 2 $ . What is the smallest number of operations we need to perform to make all $ n $ numbers equal? It can be proved that under given constraints it doesn't exceed $ 10^{18} $ .

输入输出格式

输入格式


The first line contains a single integer $ n $ ( $ 1 \le n \le 10^5 $ ). The second line contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 0 \le a_i \le 10^{17} $ ).

输出格式


Output exactly one integer — the smallest number of operations we need to perform to make all $ n $ numbers equal.

输入输出样例

输入样例 #1

4
228 228 228 228

输出样例 #1

0

输入样例 #2

3
2 2 8

输出样例 #2

3

说明

In the first example, all numbers are already equal. So the needed number of operation is $ 0 $ . In the second example, we can apply the operation $ 3 $ times: add $ 8 $ to first $ 2 $ , add $ 8 $ to second $ 2 $ , add $ 2 $ to $ 8 $ , making all numbers equal to $ 10 $ . It can be proved that we can't make all numbers equal in less than $ 3 $ operations.