JSFiddle - React, Tailwind, and code Playground
JavaScript
// stdin shim
var i = 0,
prompt = function(){
return '\
1\n\
X \n\
X \n\
X \n\
X XX XXXXXX X X X \n\
X XX XXXXXX X X X \n\
XXX X XX XXXXXX X X X \n\
XXX X XX XXXXXX X X X '.split('\n')[i++];
};
// code:
for(c=p=0;l=prompt(d='.');)c?console.log(p=l.replace(/ /g,function(a,b){return p[b]==d|p[b-=c]==d|l[b]=='X'?d:a})):c=+l