def bf2un( s) :
return int ( "1" +'' .join ( bin( "><+-.,[]" .find ( n) ) [ 2 :] .zfill ( 3 ) for n in s) , 2 )
def un2bf( n) :
p= bin( n) [ 3 :]
return '' .join ( "><+-.,[]" [ int ( p[ i:i+3 ] , 2 ) ] for i in range ( 0 , len ( p) , 3 ) )
def main( ) :
bfs = [ "+." , ",[.,]" , "++++++[>++++++++++++<-]>.>++++++++++[>++++++++++<-]>+.+++++++..+++.>++++[>+++++++++++<-]>.<+++[>----<-]>.<<<<<+++[>+++++<-]>.>>.+++.------.--------.>>+." ]
uns = [ 84 , 56623 , 239234107117088762456728667968602154633390994619022073954825877681363348343524058579165785448174718768772358485472231582844556848101441556 ]
print "Brainfuck -> Unary\n --------------"
for c in bfs: print bf2un( c)
print "Unary -> Brainfuck\n --------------"
for c in uns: print un2bf( c)
if __name__ == '__main__' :
main( )
ZGVmIGJmMnVuKHMpOgoJcmV0dXJuIGludCgiMSIrJycuam9pbihiaW4oIj48Ky0uLFtdIi5maW5kKG4pKVsyOl0uemZpbGwoMylmb3IgbiBpbiBzKSwyKQoKZGVmIHVuMmJmKG4pOgoJcD1iaW4obilbMzpdCglyZXR1cm4gJycuam9pbigiPjwrLS4sW10iW2ludChwW2k6aSszXSwyKV1mb3IgaSBpbiByYW5nZSgwLGxlbihwKSwzKSkKICAgIApkZWYgbWFpbigpOgoJYmZzID0gWyIrLiIsIixbLixdIiwiKysrKysrWz4rKysrKysrKysrKys8LV0+Lj4rKysrKysrKysrWz4rKysrKysrKysrPC1dPisuKysrKysrKy4uKysrLj4rKysrWz4rKysrKysrKysrKzwtXT4uPCsrK1s+LS0tLTwtXT4uPDw8PDwrKytbPisrKysrPC1dPi4+Pi4rKysuLS0tLS0tLi0tLS0tLS0tLj4+Ky4iXQoJdW5zID0gWzg0LDU2NjIzLDIzOTIzNDEwNzExNzA4ODc2MjQ1NjcyODY2Nzk2ODYwMjE1NDYzMzM5MDk5NDYxOTAyMjA3Mzk1NDgyNTg3NzY4MTM2MzM0ODM0MzUyNDA1ODU3OTE2NTc4NTQ0ODE3NDcxODc2ODc3MjM1ODQ4NTQ3MjIzMTU4Mjg0NDU1Njg0ODEwMTQ0MTU1Nl0KCXByaW50ICJCcmFpbmZ1Y2sgLT4gVW5hcnlcbi0tLS0tLS0tLS0tLS0tIgoJZm9yIGMgaW4gYmZzOiBwcmludCBiZjJ1bihjKQoJcHJpbnQgIlVuYXJ5IC0+IEJyYWluZnVja1xuLS0tLS0tLS0tLS0tLS0iCglmb3IgYyBpbiB1bnM6IHByaW50IHVuMmJmKGMpCiAgIAppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgoJbWFpbigp