T=$(mktemp) cat <<'EOF' function f(n, t){ t=int(sqrt(n));for(i="__";length(i)<=t;i=i"_"){if(n%length(i)==Z)return Z}return n!=O } BEGIN{ Z=length("");O=length("_") } { print f($Z)?"YES":"NO" } EOF gawk $'\x2d'f $T