공짜 디저트

a < b이고 a + b = P이며 a, b, P 세 수의 십진수 자릿수가 서로 겹치지 않는 순서쌍을 세고, 최대 5000개까지 출력한다.

어려움8비트 연산완전 탐색수학구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

퀴도는 매일 후고의 식당에서 점심을 먹는다. 이 식당의 가격은 모두 정수이고, 1 이상의 모든 정수 가격마다 그 가격의 음료가 적어도 하나, 주요리가 적어도 하나 있다.

계산서에는 매일 세 수가 찍힌다. 음료 가격, 주요리 가격, 합계 금액이다. 후고는 퀴도가 계산 문제를 좋아한다는 것을 알고, 계산서가 아래 세 조건을 모두 만족할 때마다 디저트를 공짜로 준다.

  • 계산서가 퀴도가 전에 받은 어떤 계산서와도 같지 않다.
  • 음료 가격이 주요리 가격보다 작다.
  • 세 수 중 하나에 쓰인 자리 숫자는 나머지 두 수에 쓰이지 않는다. 즉 음료 가격, 주요리 가격, 합계 금액은 같은 자리 숫자를 함께 쓰지 못한다.

퀴도는 예산을 지키느라 매일 같은 금액을 낸다. 공짜 디저트를 최대 몇 번 받을 수 있는지 세어라.

입력

첫째 줄에 퀴도가 매일 내는 합계 금액 PP가 주어진다 (1P<10181 \le P < 10^{18}).

출력

첫째 줄에 합계 금액이 항상 PP일 때 퀴도가 받을 수 있는 공짜 디저트의 최대 횟수를 출력한다.

다음 줄부터 공짜 디저트를 받는 계산서를 음료 가격이 커지는 순서로 한 줄에 하나씩 출력한다. 각 줄에는 음료 가격과 주요리 가격을 공백으로 구분해 쓴다. 합계 금액 PP는 모든 계산서에서 같으므로 다시 쓰지 않는다.

공짜 디저트를 받는 계산서가 5000개보다 많으면 앞의 5000개만 출력한다. 첫째 줄에는 그래도 전체 개수를 쓴다.