아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

페이지 번호

시간 제한2초메모리 제한512 MB

요약
숫자 문자열이 주어질 때, 이를 "Page i of n"의 i와 n에 해당하는 두 양의 정수로 나누는 경우의 수를 센다. 이때 두 수에는 앞에 오는 0이 없어야 한다.
난이도

보통10점 중 6점

유형
문자열, 구현, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

어느 날 로봇 사서가 장서 점검을 하려고 했다. 서가 하나에서 코르멘 33판 책들 사이에 고대 대회 문제지의 한 장이 끼어 있는 것을 발견했다. 로봇은 문제지의 서식은 알고 있지만, 이 종이를 보고 당황하고 말았다.

보통 문제지의 각 페이지 아래에는 <<nn쪽 중 ii쪽>> 형태의 표기가 있다. 여기서 ii는 문제지의 페이지 번호이고 nn은 문제지의 전체 페이지 수이다. 하지만 이 종이에는 길다란 숫자 열 하나만 있었다. 아마도 프린터가 어떤 이유로 숫자 이외의 문자를 하나도 인쇄하지 못한 듯하다. 그래서 ii와 nn이 하나의 숫자 열로 합쳐져 버렸다.

이제 발견된 페이지가 몇 쪽이었는지 알아내는 것이 큰 문제가 되었고, 이 문제의 답은 여러 가지일 수 있다. 로봇은 답이 몇 가지인지 궁금해졌지만, 로봇은 이런 문제를 풀도록 만들어지지 않아서 여러분의 도움이 필요하다. 문제지의 페이지는 1부터 nn까지 번호가 매겨지고, ii와 nn은 앞에 0을 붙이지 않고 쓴다.

<<nn쪽 중 ii쪽>> 형태의 올바른 표기 중에서, 숫자를 제외한 모든 문자를 지웠을 때 입력 파일에 주어진 문자열이 되는 것의 개수를 구하시오.

입력

입력 파일에는 숫자로만 이루어진 문자열이 한 줄 주어진다. 문자열의 길이는 1 이상 200 000200\,000 이하이다.

출력

<<nn쪽 중 ii쪽>> 형태의 올바른 표기 중에서, 숫자를 제외한 모든 문자를 지웠을 때 입력 파일에 주어진 문자열이 되는 것의 개수를 출력한다.

힌트

예시에서는 문자열을 세 가지로 해석할 수 있다:

  • <<3507645쪽 중 2쪽>>
  • <<507645쪽 중 23쪽>>
  • <<7645쪽 중 2350쪽>>

예제1

  1. 예제 1

    입력
    23507645
    
    예상 출력
    3