비밀 코드
시간 제한1초메모리 제한512 MB
0부터 9까지 각 숫자의 개수가 주어질 때, 연속한 세 자리가 만드는 수가 모두 3의 배수가 되도록 숫자를 골라 만들 수 있는 가장 큰 수를 구한다. 앞자리에 0이 오면 안 된다.
문제
Bogdan은 수수께끼와 퍼즐을 좋아한다. 그는 친구 Anton에게 비밀 코드를 만들어 달라고 부탁했고, Bogdan이 그 코드를 해독하기로 했다.
Anton은 앞에 불필요한 0이 없는 음이 아닌 정수를 비밀 코드로 쓰기로 했다. 코드는 다음 조건을 만족해야 한다. 코드의 연속한 세 자리 숫자를 세 자리 정수로 보았을 때, 그 수는 3으로 나누어떨어진다.
Anton은 자신의 비밀 코드에 들어 있는 모든 숫자와 그 밖의 숫자 몇 개를 Bogdan에게 알려 주었다. 그리고 이 숫자들로 만들 수 있는, 위 조건을 만족하는 가장 큰 수가 비밀 코드라고 주장한다.
Bogdan이 비밀 코드를 알아내도록 도와주자.
입력
입력은 10개의 정수 를 포함한다. 여기서 는 Anton이 Bogdan에게 알려 준 숫자 의 개수이다(). 의 합은 양수이며 을 넘지 않는다.
출력
이 숫자들로 만들 수 있는 가장 큰 정수를 출력한다. 이 정수는 연속한 세 자리 숫자로 이루어진 수가 3으로 나누어떨어지는 조건을 만족해야 한다. 주어진 숫자를 모두 사용할 필요는 없다. 한 자리 또는 두 자리 수는 연속한 세 자리 숫자가 없으므로 이 조건을 자동으로 만족한다. 답에는 앞에 불필요한 0이 있어서는 안 된다. 첫 번째 자리가 일 수 있는 것은 수가 0인 경우뿐이며, 이때 0은 유일한 자리여야 한다.