Problem:
Score : 300 points

Problem Statement

Find the maximum possible sum of the digits (in base 10) of a positive integer not greater than N.

Constraints

1\leq N \leq 10^{16}

N is an integer.

Input

Input is given from Standard Input in the following format:

N

Output

Print the maximum possible sum of the digits (in base 10) of a positive integer not greater than N.

Sample Input 1

100

Sample Output 1

18

For example, the sum of the digits in 99 is 18, which turns out to be the maximum value.

Sample Input 2

9995

Sample Output 2

35

For example, the sum of the digits in 9989 is 35, which turns out to be the maximum value.

Sample Input 3

3141592653589793

Sample Output 3

137

Solution in Common Lisp (SBCL 2.0.3) (judge verdict: Accepted)

(let* ((n (read-line))
    (m (princ-to-string (+ (parse-integer n) 1)))
    (ans 0))
(if (= (length n)1)
    (setq ans n)
    (progn
        (if (not (string= (subseq m 0 1) (subseq n 0 1)))
            (setq ans 1)
        )
        (if (string= (subseq n 0 1) "1")
            (incf ans (* (- (length n) 1) 9))
            (incf ans (+ (* (- (length n) 1) 9) (- (parse-integer (subseq n 0 1))1)))
        )
    )
)
(format t "~A~%" ans)
)