#include<cstdio>
int min(int x,int y) {return x<y?x:y;}
int c(int x) {int ret=0;while(x) {ret+=x%10;x/=10;}return ret;}
int main()
{
	int n,ans=0x3f3f3f3f;scanf("%d",&n);
	for(int i=1;i<=n/2;i++) ans=min(ans,c(i)+c(n-i));
	printf("%d\n",ans);
	return 0;
}
### Prompt

Develop a solution in CPP to the problem described below:

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<cstdio>
int min(int x,int y) {return x<y?x:y;}
int c(int x) {int ret=0;while(x) {ret+=x%10;x/=10;}return ret;}
int main()
{
	int n,ans=0x3f3f3f3f;scanf("%d",&n);
	for(int i=1;i<=n/2;i++) ans=min(ans,c(i)+c(n-i));
	printf("%d\n",ans);
	return 0;
}
```