a=io.read()j='++--***...'I=io.write M=string.match U=string.sub T=table.insert n=''y=0 t={}m=0 for i in a:gmatch('[%-%d]*[a-j]%+?')do b=M(i,'-(%d)')b=b or 0 s=M(U(i,1,1),'%d')s=s or 0 n=n..(' '):rep(s)..U(U(j,1,M(U(i,-2),'[a-j]'):byte()-96),1+b,-1)if U(i,-1,-1)~="+"then T(t,n)m=m<#n and #n or m n=""y=y+1 end end T(t,n)n=''for k,v in pairs(t)do n=#v<m and n..v..(' '):rep(m-#v)or n..v end for i=m,1,-1 do for k=0,m*y-1,m do I(U(n,i+k,i+k))end I'\n'end
YT1pby5yZWFkKClqPScrKy0tKioqLi4uJ0k9aW8ud3JpdGUgTT1zdHJpbmcubWF0Y2ggVT1zdHJpbmcuc3ViIFQ9dGFibGUuaW5zZXJ0IG49Jyd5PTAgdD17fW09MCBmb3IgaSBpbiBhOmdtYXRjaCgnWyUtJWRdKlthLWpdJSs/JylkbyBiPU0oaSwnLSglZCknKWI9YiBvciAwIHM9TShVKGksMSwxKSwnJWQnKXM9cyBvciAwIG49bi4uKCcgJyk6cmVwKHMpLi5VKFUoaiwxLE0oVShpLC0yKSwnW2Etal0nKTpieXRlKCktOTYpLDErYiwtMSlpZiBVKGksLTEsLTEpfj0iKyJ0aGVuIFQodCxuKW09bTwjbiBhbmQgI24gb3IgbSBuPSIieT15KzEgZW5kIGVuZCBUKHQsbiluPScnZm9yIGssdiBpbiBwYWlycyh0KWRvIG49I3Y8bSBhbmQgbi4udi4uKCcgJyk6cmVwKG0tI3Ypb3Igbi4udiBlbmQgZm9yIGk9bSwxLC0xIGRvIGZvciBrPTAsbSp5LTEsbSBkbyBJKFUobixpK2ssaStrKSllbmQgSSdcbidlbmQ=