A+B
시간 제한1초메모리 제한512 MB
세 줄로 적힌 n자리 수에서 열의 순서를 바꿔 a+b=c가 성립하는 경우의 수를 10^9+7로 나눈 나머지로 구합니다.
문제
, , 는 십진법으로 적은 음이 아닌 정수다. 세 수의 길이는 모두 으로 같고, 앞자리가 0으로 시작할 수 있다. 세 수를 한 줄씩 위아래로 적으면 숫자가 3행 열로 배치된다. 이러한 표기의 예는 다음과 같다:
01211
12099
23300
이 표기의 열을 재배열해서 가 성립하도록 해야 한다. 재배열한 표기에서는 앞자리 0이 이미 금지되어 있다. 가능한 재배열 방법의 수를 구하라.
재배열한 결과의 표기가 같더라도 열의 순서가 다르면 서로 다른 방법으로 센다. 예를 들어 위 표기에서 마지막 두 열을 맞바꾸면, 두 열의 숫자가 같아도 다른 재배열이 된다.
답이 클 수 있으므로 로 나눈 나머지를 출력한다.
입력
입력은 정수 , , 가 한 줄에 하나씩 주어진다. 각 수는 개의 십진수 숫자로 이루어지며, 앞자리가 0일 수 있다 ().
출력
조건을 만족하는 열 재배열의 수를 로 나눈 나머지를 출력한다.
힌트
첫 번째 예에서는 모든 열 재배열이 조건을 만족한다.
두 번째 예에서 조건을 만족하는 재배열은 하나뿐이며, 그때의 식은 이다. 은 앞자리 0이 있으므로 제외된다.
세 번째 예에서는 과 두 경우가 가능하며, 각각은 서로 다른 두 재배열로 얻어진다.