#501. 索尼大法好!

索尼大法好!

题目描述

将声音数字化的一种常见方式是在特定时刻记录声音强度。对于每个时刻,强度被记录为非负整数。因此,我们可以将声音文件表示为n个非负整数的数组。

如果数组中确实有K个不同的值,那么我们需要k =⌈log2K⌉位来存储每个值。然后它需要nk位来存储整个文件。

为了减少内存消耗,我们需要应用一些压缩。一种常见的方法是减少可能的强度值的数量。我们选择两个整数l≤r,然后以下列方式改变所有强度值:如果强度值在[l; r]范围内,我们不会改变它。如果小于l,我们将其改为l;如果它大于r,我们将其改为r。你可以看到我们失去了一些低强度和一些高强度。

您的任务是以这样的方式应用此压缩:文件适合大小为I字节的磁盘,并且数组中已更改元素的数量可能最小。

我们提醒您1个字节包含8位。

k =⌈log2K⌉是K≤2k的最小整数。特别是,如果K = 1,则k = 0。

输入格式

第一行包含两个整数n和I(1≤n≤4⋅10^5,1≤I≤10^8) - 数组的长度和磁盘的大小(以字节为单位)。 下一行包含n个整数ai(0≤ai≤10^9) - 表示声音文件的数组。

输出格式

打印单个整数 - 尽可能少的已更改元素。

样例

input

6 1
2 1 2 3 4 3

output

2

input

6 2
2 1 2 3 4 3

output

0

input

6 1
1 1 2 2 3 3

output

2