#include <stdio.h>
#include <stdlib.h>
//必要があれば,関数をいくつでも追加して良い
#define MAXN 200005
static int heap[MAXN];
static int hn;
static void push(int x){
int i = hn++;
heap[i] = x;
while(i > 0){
int p = (i-1)/2;
if(heap[p] >= heap[i]) break;
int t = heap[p]; heap[p] = heap[i]; heap[i] = t;
i = p;
}
}
static int pop(void){
int ret = heap[0];
int i = 0;
heap[0] = heap[--hn];
while(1){
int l = 2*i+1, r = 2*i+2, m = i;
if(l < hn && heap[l] > heap[m]) m = l;
if(r < hn && heap[r] > heap[m]) m = r;
if(m == i) break;
int t = heap[m]; heap[m] = heap[i]; heap[i] = t;
i = m;
}
return ret;
}
int solve(){
int ret;
//ここにプログラムを書く
//ret に答えを入れてメイン関数に返す
int n, q, i, x;
hn = 0;
for(i = 0; i < n; i++){
push(x);
}
for(i = 0; i < q; i++){
if(heap[0] == 0) break;
x = pop();
push(x/2);
}
ret = 0;
for(i = 0; i < hn; i++) ret += heap[i];
return ret;
}
//メイン関数はいじらなくて良い
int main(void){
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCi8v5b+F6KaB44GM44GC44KM44Gw77yM6Zai5pWw44KS44GE44GP44Gk44Gn44KC6L+95Yqg44GX44Gm6Imv44GECiNkZWZpbmUgTUFYTiAyMDAwMDUKc3RhdGljIGludCBoZWFwW01BWE5dOwpzdGF0aWMgaW50IGhuOwoKc3RhdGljIHZvaWQgcHVzaChpbnQgeCl7CiAgICBpbnQgaSA9IGhuKys7CiAgICBoZWFwW2ldID0geDsKICAgIHdoaWxlKGkgPiAwKXsKICAgICAgICBpbnQgcCA9IChpLTEpLzI7CiAgICAgICAgaWYoaGVhcFtwXSA+PSBoZWFwW2ldKSBicmVhazsKICAgICAgICBpbnQgdCA9IGhlYXBbcF07IGhlYXBbcF0gPSBoZWFwW2ldOyBoZWFwW2ldID0gdDsKICAgICAgICBpID0gcDsKICAgIH0KfQoKc3RhdGljIGludCBwb3Aodm9pZCl7CiAgICBpbnQgcmV0ID0gaGVhcFswXTsKICAgIGludCBpID0gMDsKICAgIGhlYXBbMF0gPSBoZWFwWy0taG5dOwogICAgd2hpbGUoMSl7CiAgICAgICAgaW50IGwgPSAyKmkrMSwgciA9IDIqaSsyLCBtID0gaTsKICAgICAgICBpZihsIDwgaG4gJiYgaGVhcFtsXSA+IGhlYXBbbV0pIG0gPSBsOwogICAgICAgIGlmKHIgPCBobiAmJiBoZWFwW3JdID4gaGVhcFttXSkgbSA9IHI7CiAgICAgICAgaWYobSA9PSBpKSBicmVhazsKICAgICAgICBpbnQgdCA9IGhlYXBbbV07IGhlYXBbbV0gPSBoZWFwW2ldOyBoZWFwW2ldID0gdDsKICAgICAgICBpID0gbTsKICAgIH0KICAgIHJldHVybiByZXQ7Cn0KCmludCBzb2x2ZSgpewogICAgaW50IHJldDsKICAgIC8v44GT44GT44Gr44OX44Ot44Kw44Op44Og44KS5pu444GPCiAgICAvL3JldCDjgavnrZTjgYjjgpLlhaXjgozjgabjg6HjgqTjg7PplqLmlbDjgavov5TjgZkKICAgIGludCBuLCBxLCBpLCB4OwogICAgc2NhbmYoIiVkICVkIiwgJm4sICZxKTsKICAgIGhuID0gMDsKICAgIGZvcihpID0gMDsgaSA8IG47IGkrKyl7CiAgICAgICAgc2NhbmYoIiVkIiwgJngpOwogICAgICAgIHB1c2goeCk7CiAgICB9CiAgICBmb3IoaSA9IDA7IGkgPCBxOyBpKyspewogICAgICAgIGlmKGhlYXBbMF0gPT0gMCkgYnJlYWs7CiAgICAgICAgeCA9IHBvcCgpOwogICAgICAgIHB1c2goeC8yKTsKICAgIH0KICAgIHJldCA9IDA7CiAgICBmb3IoaSA9IDA7IGkgPCBobjsgaSsrKSByZXQgKz0gaGVhcFtpXTsKICAgIHJldHVybiByZXQ7Cn0KCi8v44Oh44Kk44Oz6Zai5pWw44Gv44GE44GY44KJ44Gq44GP44Gm6Imv44GECmludCBtYWluKHZvaWQpewogICAgcHJpbnRmKCIlZFxuIixzb2x2ZSgpKTsKICAgIHJldHVybiAwOwp9