#树根,输入一个正整数,把它各个位相加,累加和为一位数为止。
#递归(第一种方法)
def f(x):
if len(x)==1:
return x
else:
s=0
for i in range(len(x)):
s+=int(x[i])
return f(str(s))
x=input()
print(f(x))
#如果它的长度是1的时候,就返回它自己本身
#如果不是,就是取它的字符串的下标进行累加,再进行调用,如果各个位数字调用和的长度为一位数,就返回累加和的数,如果长度不是为1,就不停的调用,直到各个位数字相加和长度为1为止。
#while循环(第二种)
n=int(input())
x=n
s=0
while True:
while n!=0:
s+=n%10
n=n//10
if s>10:
s,n=0,s
else:
break
print(f"{x}树根是{s}")
#while True 就是说值为真进行循环操做。
#while n的值不为0,就比如n等于57,n等于n余10等于7,n整除于10等于5,5再次余10等于5,s等于5+7=12,以此类推进行循环。
#如果它们的和大于10,s,n等于0,s的意思为,0赋值于s,就是再次从0开始累加,s赋值于x,例如57,相加后s等于12,12>10,12就赋值给n,12不为0时,就在次进行累加和s=3,3不大于10就break跳出。
#结束循环可以求出树根,至于前面的x,是上面把n的值赋值于x,就是把n的值存起来的意思。