Point: 100.0
Time limit: 1.5s
Memory limit: 98 M
Input: stdin
Output: stdout
Author:  
Problem type
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text

Sau khi học về duyệt các kiểu, các bạn trẻ 2k8 bắt đầu vận dụng việc duyệt vào các bài toán cụ thể. Tuy nhiên các bạn ấy vẫn giữ thói quen tìm một lời giải nào đó ở đâu đó hơn là ngẫm nghĩ để xem cách giải quyết bài toán như thế nào. Mr Toàn sau nhiều lần nhắc nhở thì vẫn không thể nào xử lý được triệt để. Vì vậy hôm nay Mr Toàn yêu cầu các bạn trẻ viết ra giấy để tìm các quy luật trước khi code. Trong giờ học trực tuyến dù có kiểm soát nhiều nhưng để tự giác thì cũng thật khó, Mr Toàn phải tìm cách tương tác trực tiếp bằng cách đọc cho các bạn trẻ một dãy số và yêu cầu ghi lại. Tuy nhiên có một bạn trẻ đã lách luật không ghi thêm các dấu “,” phân tách các số. Do không thể nhớ nổi việc điền các dấu “,” vào những vị trí nào, Mr Toàn buộc phải đưa ra một yêu cầu bạn trẻ đó phải đếm số lượng cách thêm dấu”,” vào giữa các chữ số để được thu được một dãy tăng.

Dữ liệu vào Specification

  • Một dòng duy nhất là xâu \(S\) chỉ gồm các ký tự là chữ số có độ dài không vượt quá 20

Dữ liệu ra Specification

  • Đưa ra một số nguyên là số lượng cách thêm dấu “,” vào giữa các chữ số để có được một dãy tăng theo yêu cầu. Do số lượng cách có thể rất lớn, Mr Toàn chỉ yêu cầu đưa ra kết quả lấy số dư trong phép chia cho 2017.

Sample Input

21023

Sample Output

3

Giải thích: Ta có 3 cách thêm dấu “,” như sau: {2, 10, 23}; {2, 1023}; {21023}