H ,p g/./s//i/g g/^/s//i/ ,j # unary -> decimal (for 0-10000 range) g/i{9000}(i{0,999})/s//9\1/ g/i{8000}(i{0,999})/s//8\1/ g/i{7000}(i{0,999})/s//7\1/ g/i{6000}(i{0,999})/s//6\1/ g/i{5000}(i{0,999})/s//5\1/ g/i{4000}(i{0,999})/s//4\1/ g/i{3000}(i{0,999})/s//3\1/ g/i{2000}(i{0,999})/s//2\1/ g/i{1000}(i{0,999})/s//1\1/ v/^[0-9]i*$/s/.*/0&/ g/i{900}(i{0,99})/s//9\1/ g/i{800}(i{0,99})/s//8\1/ g/i{700}(i{0,99})/s//7\1/ g/i{600}(i{0,99})/s//6\1/ g/i{500}(i{0,99})/s//5\1/ g/i{400}(i{0,99})/s//4\1/ g/i{300}(i{0,99})/s//3\1/ g/i{200}(i{0,99})/s//2\1/ g/i{100}(i{0,99})/s//1\1/ v/^[0-9]{2}i*$/s/^([0-9])(i*)$/\10\2/ g/i{90}(i{0,9})/s//9\1/ g/i{80}(i{0,9})/s//8\1/ g/i{70}(i{0,9})/s//7\1/ g/i{60}(i{0,9})/s//6\1/ g/i{50}(i{0,9})/s//5\1/ g/i{40}(i{0,9})/s//4\1/ g/i{30}(i{0,9})/s//3\1/ g/i{20}(i{0,9})/s//2\1/ g/i{10}(i{0,9})/s//1\1/ v/^[0-9]{3}i*$/s/^([0-9]{2})(i*)$/\10\2/ g/i{9}/s//9/ g/i{8}/s//8/ g/i{7}/s//7/ g/i{6}/s//6/ g/i{5}/s//5/ g/i{4}/s//4/ g/i{3}/s//3/ g/i{2}/s//2/ g/i{1}/s//1/ v/^[0-9]{4}i*$/s/^([0-9]{3})(i*)$/\10\2/ g/0+([0-9])/s//\1/ ,p Q