스탠은 대학원생이라 머릿속이 온통 다음 끼니 생각뿐이다. 연구팀을 후원하는 기업이 여러 코스로 이루어진 바비큐 자리에 스탠을 초대했고, 각 코스는 정확히 한 시간씩 이어진다.
스탠이 연속된 시간 동안 먹는 양은 일정한 규칙을 따른다. 첫 시간에는 최대 m 칼로리까지 먹을 수 있다. 계속 먹으면 그 한도는 매시간 직전 한도의 3분의 2로 줄어들고, 칼로리의 소수점 이하는 버린다. 한 시간을 굶으면 그다음 시간에는 굶기 직전과 같은 한도로 먹을 수 있다. 두 시간을 연달아 굶으면 그다음 시간에는 한도가 다시 m이 되고, 감소가 처음부터 시작된다.
m=900인 경우를 보자. 다섯 시간을 내리 먹으면 시간별 한도는 900, 600, 400, 266, 177이다. 세 번째 시간을 굶으면 900, 600, 0, 600, 400이 된다. 세 번째와 네 번째 시간을 모두 굶으면 900, 600, 0, 0, 900이 된다.
먹는 시간마다 스탠은 그 시간의 한도와 그 시간에 나온 코스의 칼로리 중 작은 값만큼 먹는다. 한도보다 적은 코스를 먹어도 먹은 것으로 치기 때문에 한도는 똑같이 줄어든다. 그래서 언제 굶는 편이 이득인지는 메뉴에 달려 있다.
코스의 개수와 코스별 칼로리가 주어질 때, 스탠이 먹을 수 있는 칼로리의 최댓값을 구하여라.