middle: procedure options (main); /* 29 October 2013 */ declare n fixed (15); declare s character (25) varying; declare in file input; open file (in) title ('/MIDDLE.DAT,type(text),recsize(100)'); on endfile (in) stop; do forever; get file (in) list (n); put skip list (n); n = abs(n); s = trim(n); if length(s) < 3 then put list ('not possible'); else if mod(length(s), 2) = 0 then put list ('not possible'); else do; do while (length(s) > 3); s = substr(s, 2, length(s)-2); end; put list ('The middle three digits are: ' || s); end; end; end middle;