Problem: You are given a positive integer n.

Let S(x) be sum of digits in base 10 representation of x, for example, S(123) = 1 + 2 + 3 = 6, S(0) = 0.

Your task is to find two integers a, b, such that 0 ≤ a, b ≤ n, a + b = n and S(a) + S(b) is the largest possible among all such pairs.

Input

The only line of input contains an integer n (1 ≤ n ≤ 10^{12}).

Output

Print largest S(a) + S(b) among all pairs of integers a, b, such that 0 ≤ a, b ≤ n and a + b = n.

Examples

Input

35


Output

17


Input

10000000000


Output

91

Note

In the first example, you can choose, for example, a = 17 and b = 18, so that S(17) + S(18) = 1 + 7 + 1 + 8 = 17. It can be shown that it is impossible to get a larger answer.

In the second test example, you can choose, for example, a = 5000000001 and b = 4999999999, with S(5000000001) + S(4999999999) = 91. It can be shown that it is impossible to get a larger answer.

Solution (in JAVA):

Solution:
/* package codechef; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
public class Codechef
{
	public static void main (String[] args) throws java.lang.Exception
	{
	
	BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
	String s=bf.readLine();
	String p=s.substring(0,1);
	int min=Integer.parseInt(p)-1;
//	System.out.println(min);
	p=Integer.toString(min);
//	System.out.println(p);
	while(p.length()<s.length())
	{
	    p=p+"9";
	}
	long n=Long.parseLong(s);
	long t1=Long.parseLong(p);
	long t2=n-t1;
//	System.out.println(t1+" "+t2);
	System.out.println(checkdigit(t1)+0L+checkdigit(t2));
	}
public static long checkdigit(long n)
{
    long count=0L;
    while(n>0)
    {
        long z=n%10;
        count=count+z;
        n=n/10;
    }
    return count;
}
}