##JavaScript (ES6), <s>156</s> … <s>115</s> 114 bytes Sadly, the infamous `String.fromCharCode()` costs 19 bytes. <!-- begin snippet: js hide: false console: true babel: false --> <!-- language: lang-js --> f=(x=y=k=1)=>k<96?String.fromCharCode(x-22?y/2^5&&(y>9?x-y+1>>1&&22-y-x>>1:x/2^5)?32:31+k++:(x=!++y,10))+f(x+1):'' console.log(f()) <!-- end snippet -->