The answer, as you've probably begun to suspect, is to pass the size of the arrays as an argument to the subroutine, instead of declaring it as a constant inside the subroutine. Take a look at ``aparm3.f'' (or view it directly). How does it differ from ``aparm2.f''?
Try out the modified program.
Take a look at ``aparm4.f'' (or view it directly). What is new and interesting about it?
Hamlet Project