팀워크

시간 제한5초메모리 제한128 MB

문제

어느 프로그래밍 대회 코치는 자기 팀들의 협동심이 부족한 것이 늘 불만이었습니다. 그는 학생들에게 협동의 중요성을 보여 주기 위해 잘 알려진 비유를 쓰기로 했습니다. 막대 하나는 손쉽게 둘로 부러뜨릴 수 있지만, 막대 세 개(즉 한 팀의 세 사람)를 함께 묶으면 부러뜨리는 데 훨씬 큰 힘이 필요하다는 것입니다.

코치는 시범에 쓸 막대를 구하러 숲으로 갔습니다. 시범을 미리 연습해 문제를 없애 두려고, 세 개를 묶으면 사실상 부러뜨릴 수 없고 한 개는 아주 쉽게 부러진다는 것도 확인했습니다. 그런데 애써 모은 막대들이 모두 더 작은 조각들로 부러져 버렸습니다.

코치는 기막힌 방법을 떠올렸습니다. 조각들을 다시 붙여 더 긴 막대를 만드는 것입니다. 어떤 조각이든 다른 조각과, 심지어 원래 다른 막대에서 나온 조각이라도 단단히 붙일 수 있습니다. 따라서 조각을 두 개 이상 이어 붙여 막대를 재구성할 수 있습니다. 다만 이렇게 재구성한 막대는 이어 붙인 지점(연결점)에서 아주 쉽게 부러집니다. 그리고 두 막대가 같은 위치에 연결점을 가지면, 두 막대를 함께 묶어도 그 위치에서 똑같이 쉽게 부러집니다.

그러므로 코치는 세 막대의 연결점이 어느 것도 서로 같은 위치에 있지 않도록 세 막대를 재구성해야 합니다. 또한 재구성한 막대는 가능한 한 길수록 좋으며, 세 막대의 길이는 모두 같아야 합니다(어느 한 사람이 더 낫다는 인상을 주지 않기 위해서입니다). 조각 중 일부는 쓰지 않고 남겨도 됩니다. 물론 각 조각은 한 번만 쓸 수 있습니다.

이 규칙을 만족하면서 세 막대를 재구성할 수 있는 가장 긴 공통 길이를 구하세요.

입력

입력은 여러 개의 테스트 케이스로 이루어집니다. 각 케이스는 한 줄로 주어집니다. 줄의 첫 번째 수는 조각의 개수 $N$입니다. 이어지는 $N$개의 수는 각 조각의 길이를 나타내는 양의 정수입니다. 조각은 최대 13개이며, 각 조각의 길이는 최대 25입니다. 입력의 끝은 $N = 0$인 케이스로 표시됩니다.

출력

각 케이스마다 케이스 번호와 콜론, 그리고 재구성한 세 막대의 가능한 가장 긴 길이를 한 줄에 출력하세요(형식: Case X: L). 규칙을 만족하도록 세 막대를 재구성하는 것이 불가능하면 가능한 가장 긴 길이는 0입니다.