AT_arc226_b [ARC226B] Bin-ary Packing

Description

$ 1,2,\dots,N $ の番号がついた $ N $ 個の袋があります。 また、各 $ i=0,1,\dots,M-1 $ について、重さ $ 2^i $ の荷物が $ A_i $ 個あります。 荷物は合計 $ A_0+A_1+\dots+A_{M-1} $ 個です。 全ての荷物を、それぞれいずれか $ 1 $ 個の袋に入れます。空の袋があっても構いません。 各袋について、その袋に入っている全ての荷物の重さの総和を**袋の重量**と呼びます。 $ N $ 個の袋の重量の最大値としてあり得る最小の値を求めてください。 $ T $ 個のテストケースが与えられるので、それぞれについて答えを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ T $ $ \text{case}_1 $ $ \text{case}_2 $ $ \vdots $ $ \text{case}_T $ 各テストケースは以下の形式で与えられる。 > $ N $ $ M $ $ A_0 $ $ A_1 $ $ \ldots $ $ A_{M-1} $

Output Format

$ T $ 行出力せよ。 $ i $ 行目には $ i $ 番目のテストケースについて、袋の重量の最大値としてあり得る最小の値を出力せよ。

Explanation/Hint

### Sample Explanation 1 $ 1 $ 個目のテストケースでは、重さ $ 1,2,4 $ の荷物がそれぞれ $ 3,2,1 $ 個あります。 例えば、袋 $ 1,2 $ に入れる荷物の重さをそれぞれ $ (4,1,1),(2,2,1) $ とします。 このとき、袋 $ 1,2 $ の重量はそれぞれ $ 6,5 $ であり、その最大値は $ 6 $ です。 袋の重量の最大値を $ 5 $ 以下にすることはできません。 ### Constraints - $ 1 \le T \le 10^5 $ - $ 1 \le N \le 10^6 $ - $ 1 \le M \le 40 $ - $ 0 \le A_i \le 10^6 $ - 全てのテストケースにおける $ M $ の総和は $ 2 \times 10^5 $ 以下 - 入力される値は全て整数