PROGRAM IS TYPE BARRAY IS ARRAY OF BOOLEAN; VAR size := 8190; VAR IsPrime := BARRAY {size OF TRUE}; VAR i, j, k, prime, count :INTEGER := 0; PROCEDURE mark(x :INTEGER) IS BEGIN IF x < size THEN IsPrime[x] := FALSE; x := x + prime; mark(x); END; END; BEGIN FOR j := 0 TO size - 1 DO IF IsPrime[j] = TRUE THEN prime := j + j + 3; k := j + prime; mark(k); count := count + 1; END; END; WRITE("The number of prime numbers less than ", size, " is ", count); END;