import java.util.*
fun main(args: Array<String>) {
val sc = Scanner(System.`in`)
val n = sc.nextInt()
val numSequence = mutableListOf<Int>()
repeat(n) {
numSequence.add(sc.nextInt())
}
val sb = StringBuilder()
val stack = Stack<Int>()
var index = 0
var current = 1
while (true) {
if (stack.isNotEmpty() && stack.peek() == numSequence[index]) {
sb.append("-\n")
stack.pop()
index++
} else if (current <= n) {
sb.append("+\n")
stack.push(current)
current++
} else {
break
}
}
if (stack.isNotEmpty()) {
println("NO")
} else {
println(sb)
}
}
aW1wb3J0IGphdmEudXRpbC4qCiAKZnVuIG1haW4oYXJnczogQXJyYXk8U3RyaW5nPikgewogICAgdmFsIHNjID0gU2Nhbm5lcihTeXN0ZW0uYGluYCkKICAgIHZhbCBuID0gc2MubmV4dEludCgpCgoJdmFsIG51bVNlcXVlbmNlID0gbXV0YWJsZUxpc3RPZjxJbnQ+KCkKICAgIHJlcGVhdChuKSB7CiAgICAJbnVtU2VxdWVuY2UuYWRkKHNjLm5leHRJbnQoKSkKICAgIH0KICAgIAogICAgdmFsIHNiID0gU3RyaW5nQnVpbGRlcigpCiAgICB2YWwgc3RhY2sgPSBTdGFjazxJbnQ+KCkKICAgIHZhciBpbmRleCA9IDAKICAgIHZhciBjdXJyZW50ID0gMQogICAgd2hpbGUgKHRydWUpIHsKICAgICAgICBpZiAoc3RhY2suaXNOb3RFbXB0eSgpICYmIHN0YWNrLnBlZWsoKSA9PSBudW1TZXF1ZW5jZVtpbmRleF0pIHsKICAgICAgICAgICAgc2IuYXBwZW5kKCItXG4iKQogICAgICAgICAgICBzdGFjay5wb3AoKQogICAgICAgICAgICBpbmRleCsrCiAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50IDw9IG4pIHsKICAgICAgICAgICAgc2IuYXBwZW5kKCIrXG4iKQogICAgICAgICAgICBzdGFjay5wdXNoKGN1cnJlbnQpCiAgICAgICAgICAgIGN1cnJlbnQrKwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgfQogICAgfQogICAgCiAgICBpZiAoc3RhY2suaXNOb3RFbXB0eSgpKSB7CiAgICAgICAgcHJpbnRsbigiTk8iKQogICAgfSBlbHNlIHsKICAgICAgICBwcmludGxuKHNiKQogICAgfSAgCn0=