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 Ruby (2.3.3) (judge verdict: Wrong Answer)

n = gets.chomp
ndigit = n.length
n = n.to_i
ans = 0
if n < 10000 then
  (1..n).each do |m|
    x = 0
    while m > 0
      x += m%10
      m /= 10
    end
    ans = [ans, x].max
  end
else
  (1..9).each do |i|
    (0..9).each do |j|
      (0..9).each do |k|
        (0..9).each do |l|
          if "#{i}#{j}#{"9"*(ndigit - 4)}#{k}#{l}".to_i <= n
            x = i + j + 9 * (ndigit - 4) + k + l
            ans = [ans, x].max
          end
        end
      end
    end
  end
end
puts ans