#include <bits/stdc++.h>

using namespace std;

int sd(int x) {
   if(!x) return 0;
   return sd(x / 10) + (x % 10);
}
int main() {

   int a, b;
   int mn = 800;
   int n;
   cin >> n;
   for(int i=1;i<n;++i)
    mn=min(mn,sd(i)+sd(n-i));
   cout<<mn;
}

### Prompt

Create a solution in Cpp for 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 <bits/stdc++.h>

using namespace std;

int sd(int x) {
   if(!x) return 0;
   return sd(x / 10) + (x % 10);
}
int main() {

   int a, b;
   int mn = 800;
   int n;
   cin >> n;
   for(int i=1;i<n;++i)
    mn=min(mn,sd(i)+sd(n-i));
   cout<<mn;
}

```