//we can use priority queue to store max after each operation
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<int>arr{20,4,3,1,9};
int k=4;
int score=0;
priority_queue<int>pq;//max heap
for(int i=0;i<arr.size();i++)
{
pq.push(arr[i]);
}
// cout<<ceil((double)20/3);
while(k--)
{
int ele=pq.top();
score+=ele;
pq.pop();
pq.push(ceil((double)ele/3));
}
cout<<score;
}