# m, n, a, b = map(int, input().split())
# ground = []
#
# for i in range(n):
# data = list(map(int, input().split()))
# ground.append(data)
#
# kas = []
# for i in range(m):
# for j in range(n):
# if j<n-1 and i<m-1:
# ka = ground[i][j] + ground[i][j+1] + ground[i+1][j] + ground[i+1][j+1]
# elif j == n-1 and i == m-1:
# ka = ground[i][j] + ground[i][j-1] + ground[i-1][j] + ground[i-1][j-1]
# elif i == n-1:
# ka = ground[i][j] + ground[i][j+1] + ground[i-1][j] + ground[i-1][j+1]
# elif j == n-1:
# ka = ground[i][j] + ground[i][j-1] + ground[i+1][j] + ground[i+1][j-1]
# kas.append(ka)
# kas.sort(reverse = True)
# print(kas[0])
# result = 0
# for i in range(n-b+1):
# for j in range(m-a+1):
# ka = 0
# for k in range(b):
# ka += sum(ground[i+k][j:j+a])
# if ka>result:
# result = ka
# print(result)
3.14159265358979323846264338327950288419716939937510
3.14159265358979323846264338327950288419716939937510
3.14159265358979323846264338327950288419716939937510
3.141592653589793238462643383279502884197169399375105820
3.1415926535897932384626433832795028841971693993751058209749
3.1415926535897932384626433832795028841971693993751058209749
# def add(n):
# while n >= 10:
# temp = 0
# while n > 0:
# temp += n % 10
# n //= 10
# n = temp
# return n
#
# n = int(input())
# print(add(n))
def func(k):
s = 0
while True:
s += (k % 10)
k //= 10
if k == 0:
return s
n = int(input())
while True:
n = func(n)
if n < 10:
break
print(n)
def func(k):
s = 0