#4873 셀프넘버
set_natural=set(range(1,10001))
set_generate=set()
for i in range(1,10001):
generate=i+sum(map(int, str(i)))
#번호의 자기자신과 각 자릿수를 더하는 것
set_generate.add(generate)
ans=sorted(set_natural-set_generate) #정렬하기
for i in ans:
print(i)
#10828 스택
import sys
n = int(sys.stdin.readline())
#입출력 속도 비교 : sys.stdin.readline > raw_input() > input()
#반복문으로 입출력 받을떄 인풋은 오래걸림
stack=[]
for i in range(n):
command =sys.stdin.readline().split() #순서을 받기
if command[0] == 'push':
stack.append(command[1])
elif command[0] =='pop':
if len(stack)==0:
print(-1)
else:
print(stack.pop())
elif command[0]=='size':
print(len(stack))
elif command[0]=='empty':
if len(stack)==0:
print(1)
else:
print(0)
elif command[0]=='top':
if len(stack)==0:
print(-1)
else:
print(stack[-1])
# 단어 뒤집기 8093
T=int(input()) #문장 갯수 받기
for i in range(T): # 문장별로 for문
sentence= list(input().split())
for j in sentence:
print(j[::-1],end=" ") #j[::-1] 뒤부터 출력
#9012 괄호
T=int(input())
for i in range(T):
s=list(input())
sum=0
for i in s:
if i =='(':
sum+=1
elif i == ')':
sum-=1
if sum<0:
print('NO') #어차피 ) 이게 많아지면(sum이 음수가 될수 없기 때문에) yes가 나올 수 없기 때문에
break
if sum >0:
print('NO')
elif sum==0: #합이 0이 되어야 "(",")" 갯수가 같다.
print('YES')
#1874 스택 수열
#스택은 나오는 입구와 들어가는 입구가 같은 구조 # 박스 안에 책 쌓기
#큐는 나오는 입구와 들어가는 입구가 다른 구조 #터널
count=1
temp=True
op=[]
stack=[]
N=int(input()) #몇 개 숫자가 들어있는지
for i in range(N):
num =int(input())
while count <= num:
#마지막에 들어간 애가 먼저 나오니까 첫번째 num을 위해 쌓는다.
stack.append(count)
op.append('+')
count+=1
if stack[-1] == num: #뺼 차례 맨 뒤에 있는 것 부터 뺀다.
stack.pop()
op.append('-')
else:
temp=False
break
if temp == False:
print("NO")
else:
for i in op:
print(i)