#include <iostream>

using namespace std;
int dsum(int x)
{
    if(!x) return 0;
    return dsum(x/10)+x%10;
}
int n,i;
int main()
{
    cin>>n;
    int mn=10000005;
    for(i=1;i<n;i++)
        mn=min(mn,dsum(i)+dsum(n-i));
    cout<<mn;
    return 0;
}
### Prompt

Please formulate a CPP solution to the following problem:

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".

Examples

Input

15


Output

6


Input

100000


Output

10

### Response

```cpp
#include <iostream>

using namespace std;
int dsum(int x)
{
    if(!x) return 0;
    return dsum(x/10)+x%10;
}
int n,i;
int main()
{
    cin>>n;
    int mn=10000005;
    for(i=1;i<n;i++)
        mn=min(mn,dsum(i)+dsum(n-i));
    cout<<mn;
    return 0;
}
```