main=interact$ \x->f([],[0,0..])[48..57]([],x) f(s,a:t)i(x,'>':y)=f(a:s,t)i('>':x,y) f(a:s,t)i(x,'<':y)=f(s,a:t)i('<':x,y) f(s,a:t)i(x,'+':y)=f(s,a+1:t)i('+':x,y) f(s,a:t)i(x,'-':y)=f(s,a-1:t)i('-':x,y) f(s,111:t)i(x,'.':'>':y)="o,"++f(s,111:t)i('.':x,'>':y) f(s,87:t)i(x,'.':y)='w':f(s,87:t)i('.':x,y) f(s,a:t)i(x,'.':y)=toEnum a:f(s,a:t)i('.':x,y) f(s,a:t)(c:i)(x,',':y)=f(s,c:t)i(',':x,y) f(s,a:t)i(x,'[':y)|a<1=f(s,a:t)i$g('[':x)y 0|1>0=f(s,a:t)i('[':x,y) f(s,a:t)i(x,']':y)|a>0=f(s,a:t)i$h x(']':y)0|1>0=f(s,a:t)i(']':x,y) f u i(x,a:y)=f u i(x,y) f u i z="" g s(']':t)0=(']':s,t) g s(']':t)n=g(']':s)t(n-1) g s('[':t)n=g('[':s)t(n+1) g s(a:t)n=g(a:s)t n h (']':s)t n=h s(']':t)(n+1) h ('[':s)t 0=(s,'[':t) h ('[':s)t n=h s('[':t)(n-1) h (a:s)t n=h s(a:t)n