Problem:
Score : 200 points

Problem Statement

Takahashi has two positive integers A and B.

It is known that A plus B equals N.
Find the minimum possible value of "the sum of the digits of A" plus "the sum of the digits of B" (in base 10).

Constraints

2 ≤ N ≤ 10^5

N is an integer.

Input

Input is given from Standard Input in the following format:

N

Output

Print the minimum possible value of "the sum of the digits of A" plus "the sum of the digits of B".

Sample Input 1

15

Sample Output 1

6

When A=2 and B=13, the sums of their digits are 2 and 4, which minimizes the value in question.

Sample Input 2

100000

Sample Output 2

10

Solution in Rust (1.15.1) (judge verdict: Accepted)

use std::io;

fn read_line() -> String {
    let mut s = String::new();
    io::stdin().read_line(&mut s).unwrap();
    s
}

macro_rules! from_line {
    ($($a:ident : $t:ty),+) => {
        $(let $a: $t;)+
        {
            let _line = read_line();
            let mut _it = _line.trim().split_whitespace();
            $($a = _it.next().unwrap().parse().unwrap();)+
            assert!(_it.next().is_none());
        }
    };
}

fn digit_sum(n: u64) -> u64 {
    let mut tmp = n;
    let mut sum = 0;
    while tmp != 0 {
        sum += tmp % 10;
        tmp /= 10;
    }
    sum
}

fn main() {
    from_line!(n: u64);
    let mut min = 1000000;
    for a in 1..n {
        let b = n - a;
        if min > digit_sum(a) + digit_sum(b) {
            min = digit_sum(a) + digit_sum(b);
        }
    }
    println!("{}", min);
}