뮤탈리스크 2

체력이 주어진 SCV가 최대 20개 있을 때, 한 번의 공격으로 서로 다른 세 SCV에 9, 3, 1의 피해를 줄 수 있다. 모든 SCV를 파괴하는 최소 공격 횟수를 구한다.

보통7동적 계획법비트 연산백트래킹아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

수빈이는 강호와 스타크래프트 게임을 하고 있다. 수빈이에게는 뮤탈리스크 1마리가 남았고, 강호에게는 SCV NN대가 남았다.

SCV는 각자 남은 체력이 있고, 뮤탈리스크를 공격하지 못한다. 즉, 이 게임은 수빈이가 이겼다.

뮤탈리스크는 한 번 공격할 때 서로 다른 SCV를 최대 세 대까지 공격한다. 잃는 체력은 공격받는 순서로 정해진다.

  1. 첫 번째로 공격받는 SCV는 체력 9를 잃는다.
  2. 두 번째로 공격받는 SCV는 체력 3을 잃는다.
  3. 세 번째로 공격받는 SCV는 체력 1을 잃는다.

체력이 0 이하가 된 SCV는 그 즉시 파괴된다. 한 번의 공격에서 같은 SCV를 두 번 이상 공격할 수는 없고, 이미 파괴된 SCV를 공격할 수도 없다.

남은 SCV의 체력이 주어졌을 때, SCV를 모두 파괴하는 데 필요한 공격 횟수의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 SCV의 수 NN (1N201 \le N \le 20)이 주어진다. 둘째 줄에 SCV NN대의 체력이 공백으로 구분되어 주어진다. 각 체력은 11 이상 6060 이하의 정수이다.

출력

SCV를 모두 파괴하는 데 필요한 공격 횟수의 최솟값을 한 줄에 출력한다.