Go capture by nn

function f(d){o=substr(m="DEFGHJKLMNOPQRST",index(m,$1)+d,1)}function a(x){for(v[i=++n]=x;i-->1;p>x&&X[v[i]=x,v[i+1]=p])p=v[i]}BEGIN{FS=_}e=e$0a(f(1)o(w=$2$3))a(f(-1)o w)a($1(w+1)){--w&&a($1(w-9?w:"09"))}END{for(;j++<n;e=e u)if(index(e,u=v[j])-sub(/09/,9,u)<1)print u}

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return top