Go capture by nn

function f(d){o=substr(m="DEFGHJKLMNOPQRST",index(m,$1)+d,1)}function a(x){for(i=n++;i&&x<v[i];)v[i+1]=v[i--]
v[i+1]=x}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$0)if(index(e,$0=v[j])-sub(/09/,9)<1)print}

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

download

return top