JSFiddle - React, Tailwind, and code Playground
JavaScript
B=n=>(a=>{for(;n>0&a<9;)if((b=~~B[++a]+n)<16)for(B[a]=b;n--;)c[n]='ABCDEFGHIJ'[a]+b--})(c=[-1])||c
log = function(x){ $('body').append('<div>' + x + '</div>'); };
log(B(-1));
log(B(4));
log(B(6));
log(B(10));
log(B(16));
log(B(15));
log(B(15));
log(B(15));
log(B(15));
log(B(15));
log(B(15));
log(B(15));
log(B(15));
log(B(15));
log(B(2));
log(B(5));
log(B(3));
log(B(1));