import sys
def check(n):
temp = 0
for i in range(n,-1,-1):
temp += arr[i]
if temp > 0 and s[i][n] =='+':
continue
elif temp == 0 and s[i][n] == '0':
continue
elif temp < 0 and s[i][n] =='-':
continue
else:
return False
return True
def solution(level):
if level >= n:
print(*arr)
exit()
else:
if s[level][level] == '0': # 결과의 level 번째 요소 자리가 0이면
arr[level] = 0
if check(level) == True:
solution(level+1)
elif s[level][level] == '+': # 결과의 level 번째 요소 자리가 양수이면
for i in range(1,11):
arr[level] = i
if check(level) == True:
solution(level+1)
else: # 결과의 level 번째 요소 자리가 음수이면
for i in range(-10,0):
arr[level] = i
if check(level) == True:
solution(level+1)
n = int(sys.stdin.readline())
matrix = list(sys.stdin.readline().rstrip())
s = [[0]*n for _ in range(n)]
k = 0
for i in range(n):
for j in range(i,n): # (n) 하면 s[1][0] 이 될 수도있음
s[i][j] = matrix[k] # 두 번째 입력으로 들어온 부호배열을 앞에서부터 하나씩 삽입
k += 1
arr = [0] * n
solution(0)
s[9][9] -> s[8][9] -> s[7][9]
s[0][0] -> s[0][1] -> s[0][2] ... -> s[8][8]
def check(n):
for i in range(n):
temp = sum(arr[i:n])
if temp > 0 and s[i][n-1] =='+':
continue
elif temp == 0 and s[i][n-1] == '0':
continue
elif temp < 0 and s[i][n-1] =='-':
continue
else:
return False
return True