팩토리얼 자릿수 빈도

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

부진한 손금 사업을 살리기 위해, 마담 피닉스는 손님들에게 몇 가지 수비학(數祕學) 서비스를 제공하기로 했습니다. 그녀는 팩토리얼을 십진법으로 나타냈을 때 각 숫자가 나타나는 빈도가 손님의 미래를 말해 준다고 손님들을 설득했습니다. 하지만 손금과 달리 이 빈도는 마음대로 지어낼 수 없기에, 그녀는 이 값을 계산할 사람으로 당신을 고용했습니다.

$n!$(즉 $n$ 팩토리얼)은 $1 \times 2 \times 3 \times \cdots \times n$ 으로 정의됨을 기억하세요. 그녀는 요일, 날짜(일), 또는 연중 며칠째인지를 $n$ 값으로 사용할 예정이므로, 당신의 프로그램은 $781$자리 수인 $366!$ 만큼 큰 수에서도 각 십진 숫자가 몇 번 나타나는지 셀 수 있어야 합니다.

입력

입력은 자릿수 빈도를 구하려는 정수들의 목록이며, 각 정수는 한 줄에 하나씩 주어집니다. 모든 입력 값은 $0$보다 크고 $366$ 이하이며, 마지막 값만 예외로 $0$입니다. 이 마지막 $0$은 처리하지 말고, 그 지점에서 읽기를 멈추세요.

출력

각 입력 값 $n$에 대해 (입력 순서대로) 먼저 n! -- 형식의 줄을 출력합니다. 그다음 $n!$에 들어 있는 각 십진 숫자의 개수를 두 줄에 걸쳐 출력하는데, 첫 줄에는 숫자 $0$부터 $4$까지, 둘째 줄에는 숫자 $5$부터 $9$까지를 씁니다.

각 숫자 항목은 공백 세 칸, 괄호로 감싼 숫자, 폭 $5$칸으로 오른쪽 정렬한 개수, 그리고 공백 한 칸 순서로 출력합니다. 즉 한 줄에 놓이는 다섯 개 숫자에 대해 C 형식 (%d)%5d 를 반복한 것과 같으며, 따라서 두 줄 모두 공백 한 칸으로 끝납니다. 이 출력 형식을 정확히 지켜야 합니다.

힌트

마담 피닉스는 당신에게 영원히(혹은 그 이상) 신세를 지게 될 것입니다. 일을 잘 해내면 여행이라도 보내 줄지 모릅니다!