/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*
#include <stdio.h>
long long int n;
long long int sqrt(long long int n)
{
long long int i,sum=0;
if(n==0)
{
return 0; ---1120 함수
} 함수로 양의 제곱근의 정수 부분만 리턴하기
else
{
for(i=1; i<=n; i++)
{
if(i*i>n)
{
return i-1;
}
else if(i*i==n)
{
return i;
}
}
}
}
int main()
{
scanf("%lld", &n);
printf("%d\n", sqrt(n));
return 0;
}
*/
/*
#include <stdio.h>
long long int n;
long long int f(long long int n)
{
long long int sum=0; ---1558 함수 함수로 정수
while(n!=0) 뒤집어 리턴
{ (sum안의 값은 10씩 늘어나면서
sum=sum*10+n%10; 변수 n의 값의 1의자릿수를 변수 sum 값에 더할수 있다.)
n=n/10;
}
return sum;
}
int main()
{
scanf("%lld", &n);
printf("%lld\n", f(n));
}
*/
/*
#include <stdio.h>
int a, n;
long long int pow(long long int a,long long int n)
{
long long int i,sum=1;
if(a==1) return 1;
else
{
for(i=1;i<=n;i++) --1566 함수 함수로 거듭제고 리턴
{
sum=sum*a;
}
return sum;
}
}
int main()
{
scanf("%d%d", &a, &n);
printf("%lld\n", pow(a, n));
}
*/
/*
#include <stdio.h>
int gcd(int p, int q)
{
if(p==0)
return q;
return gcd(q%p, p);
}
long long int lcm(int a,int b) ---1565 함수 함수로
{ 최소공배수 리턴
//a*b=최대*최소
return (long long int)a*b/gcd(a,b);
}
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%lld\n", lcm(a, b));
}
*/
#include <stdio.h>
int f(int n)
{
int sum=0;
while(n!=0)
{
sum=sum+n%10; --1620 함수 자릿수의 합
n=n/10;
}
return sum;
}
int main()
{
int i,n;
scanf("%d",&n);
while(f(n)>=10)
{
n=f(n);
}
printf("%d",f(n));
}