HKBU ICPC Seminar 7-10

E. 带狗爬山

单点时限: 0.5 sec

内存限制: 256 MB

请注意这题不寻常的单点时限(0.5s),同时 Python 代码不要使用 Python 3 解释器,请使用 PyPy 3 解释器。

Jack 养了 $n$ 个小狗。有一天,突发奇想的他带这些小狗去山上玩,然而爬到山顶之后大家都累了,小狗们实在没力气往下爬了。

他听说小狗可以坐缆车下山,但缆车最多只能承受 $M$ 的重量。每个小狗重量在 $w_1, w_2, \ldots, w_n$ 。每个缆车需要一万人民币。虽说 Jack 有钱但是毕竟贵,他还是想少花一点钱,请问他最少要花多少钱才能把所有小狗运下山呢?

Jack自己?嗨呀年轻人有力气,走下去就行了~

输入格式

第一行两个整数 $n, M$ $(1 \leq n \leq 18, 1 \leq M \leq 10^9)$,表示小狗的数量与缆车的承重量。

接下来 $n$ 行,每行一个整数,表示这些小狗的重量 $w_1, w_2, \ldots, w_n$ $(1 \leq w_i \leq 10^9)$。

输出格式

输出仅一行,即总共要花多少万人民币。

样例

Input
5 2333
1998
226
1998
816
999
Output
3