Well all the code under 177 by Shawn is either invalid or takes a long time to run.

I ran Shawn's 177 and it works fine. The others may, but not going to run them for days to see.

I agree with Shawn that it is not appropriate to change the parameter of the function. Your code is supposed to fit "within" the function.