##JavaScript (ES6), 118 bytes <!-- language: lang-js --> ([a,...b])=>a+b.map(c=>'<><>'[k=(d=x-(x=p(c,36)))/13+2|0].repeat([d+26,-d,d,26-d][k])+'*',x=(p=parseInt)(a,36)).join`` ###Test cases <!-- begin snippet: js hide: true console: true babel: false --> <!-- language: lang-js --> let f = ([a,...b])=>a+b.map(c=>'<><>'[k=(d=x-(x=p(c,36)))/13+2|0].repeat([d+26,-d,d,26-d][k])+'*',x=(p=parseInt)(a,36)).join`` console.log(f("abcdef")); console.log(f("zyaf")); console.log(f("zzzzzz")); console.log(f("z")); console.log(f("zm")); console.log(f("zl")); console.log(f("alphabet")); console.log(f("banana")); console.log(f("abcdefghijklmnopqrstuvwxyz")); console.log(f("abcdefz")); <!-- end snippet -->