BEGIN{ FS = "" } { n = NF for(i=1;i<=NF;i++){ h[NR,i] = $i } } END { for(y=1;y<=NR;y++){ for(x=1;x<=n;x++){ islowx = (h[y,x-1]>h[y,x]) && (h[y,x+1]>h[y,x]) || (x==1 && (h[y,x+1]>h[y,x])) || (x==n && h[y,x-1]>h[y,x]) islowy = (h[y-1,x]>h[y,x]) && (h[y+1,x]>h[y,x]) || (y==1 && h[y+1,x]>h[y,x]) || (y==NR && h[y-1,x]>h[y,x]) if(islowx && islowy ) sum += h[y,x]+1 } } print sum }