#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int *digitNumbers(int Num);
int main(void){
	int Num,Sum=0;
    scanf("%d",&Num);
    int *PointerNum=digitNumbers(Num);
    for(int i=*PointerNum;i>=1;i--){
    Sum+=*(PointerNum+i);
	}
    printf("\n%d\n",Sum);
return 0;
}

// هذه الدالة تعود بعدد المراتب فى أول مكان فى المؤشر وتعود بقيم المراتب فى باقى الأماكن المحجوزة للمؤشر
int *digitNumbers(int Num){
	int NumberOfDigit=0,intNum=0,DNum;// DNum save Num toget the number of digits "NumberOfDigit" ,intNum to convert double to int
    DNum=Num; // set Num to DNum
	// get the number of digits by using while loop
  while(DNum/10 >= 1){
		DNum=DNum/10;
        NumberOfDigit++;
	 }
	// NumberOfDigit + 1 to complete number of digits
   NumberOfDigit++;
	// allocation memory
 int *PNum=(int *)malloc((NumberOfDigit+1)*sizeof(int));
	// set the number of digits to *(PNum+0)
 *PNum=NumberOfDigit;
	// set the digit in Num to PNum from *(PNum+1) to *(PNum+NumberOfDigit)
	for(int i=0;i<NumberOfDigit;i++){
         intNum=Num/pow(10,i);
		*(PNum+i+1)=intNum%10;
	}
	// return PNum pointer
	return PNum;
}