"és ha egy betűt olvasok, akkor azt átírom az eggyel balra lévő üres helyre, mindezt a #-ig"
Ez szerintem nem úgy működik, ahogy gondolod. Ezt csinálja:
ab#_b_a => ab#b_a
Szerintem egyszerűbb, ha először megkétszerezed az első szót:
ab#abaa => ac#abaa => xac#abaa => xcc#abaa => xxcc#abaa
Utána pedig ezzel analóg módon a két szót a szélek felől elfogyasztod.