#include<iostream>
#include<algorithm>
using namespace std;
int ds(int n){
	int res=0;
	while(n){
		res+=n%10;
		n/=10;
	}
	return res;
}
int main(){
	int n,mn=1000000;
	cin>>n;
	for(int i=1;i<=n/2;i++){
		mn=min(ds(i)+ds(n-i),mn);
	}
	cout<<mn;
}
### Prompt

Please create a solution in Cpp 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>
#include<algorithm>
using namespace std;
int ds(int n){
	int res=0;
	while(n){
		res+=n%10;
		n/=10;
	}
	return res;
}
int main(){
	int n,mn=1000000;
	cin>>n;
	for(int i=1;i<=n/2;i++){
		mn=min(ds(i)+ds(n-i),mn);
	}
	cout<<mn;
}
```