*** ENTERING PROGRAM *** Given the following list: 1. IT 2. WAS 3. MY 4. WEDDING 5. DAY 6. IT 7. WAS 8. OUR 9. WEDDING 10. DAY 11. THERE 12. WAS 13. NOT 14. A 15. CLOUD 16. IN 17. THE 18. SKY 19. NO 20. CLOUD 21. ALLOWED 22. IN 23. THE 24. SKY 25. BRUNO 26. WALKED 27. IN 28. WITH 29. A 30. MISCHIEVOUS 31. GRIN 32. AN 33. THUNDER 34. ARE 35. YOU 36. TELLING 37. THIS 38. STORY 39. OR 40. AM 41. I 42. IM 43. SORRY 44. MI 45. AMOR 46. GO 47. ON 48. BRUNO 49. SAID 50. IT 51. LOOKED 52. LIKE 53. RAIN 54. IN 55. DOING 56. SO 57. HE 58. FLOODS 59. MY 60. BRAIN 61. AND 62. THEN 63. HE 64. CAUSED 65. A 66. HURRICANE 67. WHAT 68. A 69. JOYOUS 70. DAY 71. BUT 72. ANYWAY 73. WE 74. DONT 75. TALK 76. ABOUT 77. BRUNO 78. NO 79. NO 80. NO 81. WE 82. DONT 83. TALK 84. ABOUT 85. BRUNO 86. SEVEN 87. FOOT 88. FRAME 89. RATS 90. ALONG 91. HIS 92. BACK 93. IF 94. HE 95. CALLS 96. YOUR 97. NAME 98. IT 99. ALL 100. FADES We seek the 37th. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. IT 2. WAS 3. MY 4. WEDDING 5. DAY The median is: MY We need to find the median of the following strings: 1. IT 2. WAS 3. OUR 4. WEDDING 5. DAY The median is: OUR We need to find the median of the following strings: 1. THERE 2. WAS 3. NOT 4. A 5. CLOUD The median is: NOT We need to find the median of the following strings: 1. IN 2. THE 3. SKY 4. NO 5. CLOUD The median is: NO We need to find the median of the following strings: 1. ALLOWED 2. IN 3. THE 4. SKY 5. BRUNO The median is: IN We need to find the median of the following strings: 1. WALKED 2. IN 3. WITH 4. A 5. MISCHIEVOUS The median is: MISCHIEVOUS We need to find the median of the following strings: 1. GRIN 2. AN 3. THUNDER 4. ARE 5. YOU The median is: GRIN We need to find the median of the following strings: 1. TELLING 2. THIS 3. STORY 4. OR 5. AM The median is: STORY We need to find the median of the following strings: 1. I 2. IM 3. SORRY 4. MI 5. AMOR The median is: IM We need to find the median of the following strings: 1. GO 2. ON 3. BRUNO 4. SAID 5. IT The median is: IT We need to find the median of the following strings: 1. LOOKED 2. LIKE 3. RAIN 4. IN 5. DOING The median is: LIKE We need to find the median of the following strings: 1. SO 2. HE 3. FLOODS 4. MY 5. BRAIN The median is: HE We need to find the median of the following strings: 1. AND 2. THEN 3. HE 4. CAUSED 5. A The median is: CAUSED We need to find the median of the following strings: 1. HURRICANE 2. WHAT 3. A 4. JOYOUS 5. DAY The median is: HURRICANE We need to find the median of the following strings: 1. BUT 2. ANYWAY 3. WE 4. DONT 5. TALK The median is: DONT We need to find the median of the following strings: 1. ABOUT 2. BRUNO 3. NO 4. NO 5. NO The median is: NO We need to find the median of the following strings: 1. WE 2. DONT 3. TALK 4. ABOUT 5. BRUNO The median is: DONT We need to find the median of the following strings: 1. SEVEN 2. FOOT 3. FRAME 4. RATS 5. ALONG The median is: FRAME We need to find the median of the following strings: 1. HIS 2. BACK 3. IF 4. HE 5. CALLS The median is: HE We need to find the median of the following strings: 1. YOUR 2. NAME 3. IT 4. ALL 5. FADES The median is: IT Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 1 Given the following list: 1. MY 2. OUR 3. NOT 4. NO 5. IN 6. MISCHIEVOUS 7. GRIN 8. STORY 9. IM 10. IT 11. LIKE 12. HE 13. CAUSED 14. HURRICANE 15. DONT 16. NO 17. DONT 18. FRAME 19. HE 20. IT We seek the 10th. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. MY 2. OUR 3. NOT 4. NO 5. IN The median is: NO We need to find the median of the following strings: 1. MISCHIEVOUS 2. GRIN 3. STORY 4. IM 5. IT The median is: IT We need to find the median of the following strings: 1. LIKE 2. HE 3. CAUSED 4. HURRICANE 5. DONT The median is: HE We need to find the median of the following strings: 1. NO 2. DONT 3. FRAME 4. HE 5. IT The median is: HE Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 2 Given the following list: 1. NO 2. IT 3. HE 4. HE We seek the 2nd. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. NO 2. IT 3. HE 4. HE The median is: HE Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 3 Given the following list: 1. HE We seek the 1st. string. Since there is only one string in this list, no work is necessary. The desired string is: HE *** EXITING RECURSION LEVEL 3 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: HE The original list looks like this: 1. NO 2. IT 3. HE 4. HE We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: The EQUAL list is: 1. HE 2. HE The AFTER list is: 1. NO 2. IT Since there are 0 items in the BEFORE list, and 2 items in the EQUAL list, and we seek the 2nd. item, the item must be the 2nd. item of the EQUAL list. There is no need to recursively scan the EQUAL list. So, given the original list: 1. NO 2. IT 3. HE 4. HE The 2nd. string is: HE *** EXITING RECURSION LEVEL 2 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: HE The original list looks like this: 1. MY 2. OUR 3. NOT 4. NO 5. IN 6. MISCHIEVOUS 7. GRIN 8. STORY 9. IM 10. IT 11. LIKE 12. HE 13. CAUSED 14. HURRICANE 15. DONT 16. NO 17. DONT 18. FRAME 19. HE 20. IT We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: 1. GRIN 2. CAUSED 3. DONT 4. DONT 5. FRAME The EQUAL list is: 1. HE 2. HE The AFTER list is: 1. MY 2. OUR 3. NOT 4. NO 5. IN 6. MISCHIEVOUS 7. STORY 8. IM 9. IT 10. LIKE 11. HURRICANE 12. NO 13. IT Since there are 5 items in the BEFORE list, and 2 items in the EQUAL list, and we seek the 10th. item, the item must be the 3rd. item of the AFTER list. We will therefore use recursion on the AFTER list. *** ENTERING RECURSION LEVEL 2 Given the following list: 1. MY 2. OUR 3. NOT 4. NO 5. IN 6. MISCHIEVOUS 7. STORY 8. IM 9. IT 10. LIKE 11. HURRICANE 12. NO 13. IT We seek the 3rd. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. MY 2. OUR 3. NOT 4. NO 5. IN The median is: NO We need to find the median of the following strings: 1. MISCHIEVOUS 2. STORY 3. IM 4. IT 5. LIKE The median is: LIKE We need to find the median of the following strings: 1. HURRICANE 2. NO 3. IT The median is: IT Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 3 Given the following list: 1. NO 2. LIKE 3. IT We seek the 2nd. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. NO 2. LIKE 3. IT The median is: LIKE Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 4 Given the following list: 1. LIKE We seek the 1st. string. Since there is only one string in this list, no work is necessary. The desired string is: LIKE *** EXITING RECURSION LEVEL 4 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: LIKE The original list looks like this: 1. NO 2. LIKE 3. IT We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: 1. IT The EQUAL list is: 1. LIKE The AFTER list is: 1. NO Since there are 1 items in the BEFORE list, and 1 items in the EQUAL list, and we seek the 2nd. item, the item must be the 1st. item of the EQUAL list. There is no need to recursively scan the EQUAL list. So, given the original list: 1. NO 2. LIKE 3. IT The 2nd. string is: LIKE *** EXITING RECURSION LEVEL 3 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: LIKE The original list looks like this: 1. MY 2. OUR 3. NOT 4. NO 5. IN 6. MISCHIEVOUS 7. STORY 8. IM 9. IT 10. LIKE 11. HURRICANE 12. NO 13. IT We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: 1. IN 2. IM 3. IT 4. HURRICANE 5. IT The EQUAL list is: 1. LIKE The AFTER list is: 1. MY 2. OUR 3. NOT 4. NO 5. MISCHIEVOUS 6. STORY 7. NO Since there are 5 items in the BEFORE list, and we seek the 3rd. item, the item must be the 3rd. item of the BEFORE list. We will therefore use recursion on the BEFORE list. *** ENTERING RECURSION LEVEL 3 Given the following list: 1. IN 2. IM 3. IT 4. HURRICANE 5. IT We seek the 3rd. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. IN 2. IM 3. IT 4. HURRICANE 5. IT The median is: IN Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 4 Given the following list: 1. IN We seek the 1st. string. Since there is only one string in this list, no work is necessary. The desired string is: IN *** EXITING RECURSION LEVEL 4 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: IN The original list looks like this: 1. IN 2. IM 3. IT 4. HURRICANE 5. IT We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: 1. IM 2. HURRICANE The EQUAL list is: 1. IN The AFTER list is: 1. IT 2. IT Since there are 2 items in the BEFORE list, and 1 items in the EQUAL list, and we seek the 3rd. item, the item must be the 1st. item of the EQUAL list. There is no need to recursively scan the EQUAL list. So, given the original list: 1. IN 2. IM 3. IT 4. HURRICANE 5. IT The 3rd. string is: IN *** EXITING RECURSION LEVEL 3 REMINDER: The 3rd. item of the BEFORE list is the same as the 3rd. item of the original list: 1. MY 2. OUR 3. NOT 4. NO 5. IN 6. MISCHIEVOUS 7. STORY 8. IM 9. IT 10. LIKE 11. HURRICANE 12. NO 13. IT The 3rd. string is: IN *** EXITING RECURSION LEVEL 2 REMINDER: The 3rd. item of the AFTER list is the same as the 10th. item of the original list: 1. MY 2. OUR 3. NOT 4. NO 5. IN 6. MISCHIEVOUS 7. GRIN 8. STORY 9. IM 10. IT 11. LIKE 12. HE 13. CAUSED 14. HURRICANE 15. DONT 16. NO 17. DONT 18. FRAME 19. HE 20. IT The 10th. string is: IN *** EXITING RECURSION LEVEL 1 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: IN The original list looks like this: 1. IT 2. WAS 3. MY 4. WEDDING 5. DAY 6. IT 7. WAS 8. OUR 9. WEDDING 10. DAY 11. THERE 12. WAS 13. NOT 14. A 15. CLOUD 16. IN 17. THE 18. SKY 19. NO 20. CLOUD 21. ALLOWED 22. IN 23. THE 24. SKY 25. BRUNO 26. WALKED 27. IN 28. WITH 29. A 30. MISCHIEVOUS 31. GRIN 32. AN 33. THUNDER 34. ARE 35. YOU 36. TELLING 37. THIS 38. STORY 39. OR 40. AM 41. I 42. IM 43. SORRY 44. MI 45. AMOR 46. GO 47. ON 48. BRUNO 49. SAID 50. IT 51. LOOKED 52. LIKE 53. RAIN 54. IN 55. DOING 56. SO 57. HE 58. FLOODS 59. MY 60. BRAIN 61. AND 62. THEN 63. HE 64. CAUSED 65. A 66. HURRICANE 67. WHAT 68. A 69. JOYOUS 70. DAY 71. BUT 72. ANYWAY 73. WE 74. DONT 75. TALK 76. ABOUT 77. BRUNO 78. NO 79. NO 80. NO 81. WE 82. DONT 83. TALK 84. ABOUT 85. BRUNO 86. SEVEN 87. FOOT 88. FRAME 89. RATS 90. ALONG 91. HIS 92. BACK 93. IF 94. HE 95. CALLS 96. YOUR 97. NAME 98. IT 99. ALL 100. FADES We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: 1. DAY 2. DAY 3. A 4. CLOUD 5. CLOUD 6. ALLOWED 7. BRUNO 8. A 9. GRIN 10. AN 11. ARE 12. AM 13. I 14. IM 15. AMOR 16. GO 17. BRUNO 18. DOING 19. HE 20. FLOODS 21. BRAIN 22. AND 23. HE 24. CAUSED 25. A 26. HURRICANE 27. A 28. DAY 29. BUT 30. ANYWAY 31. DONT 32. ABOUT 33. BRUNO 34. DONT 35. ABOUT 36. BRUNO 37. FOOT 38. FRAME 39. ALONG 40. HIS 41. BACK 42. IF 43. HE 44. CALLS 45. ALL 46. FADES The EQUAL list is: 1. IN 2. IN 3. IN 4. IN The AFTER list is: 1. IT 2. WAS 3. MY 4. WEDDING 5. IT 6. WAS 7. OUR 8. WEDDING 9. THERE 10. WAS 11. NOT 12. THE 13. SKY 14. NO 15. THE 16. SKY 17. WALKED 18. WITH 19. MISCHIEVOUS 20. THUNDER 21. YOU 22. TELLING 23. THIS 24. STORY 25. OR 26. SORRY 27. MI 28. ON 29. SAID 30. IT 31. LOOKED 32. LIKE 33. RAIN 34. SO 35. MY 36. THEN 37. WHAT 38. JOYOUS 39. WE 40. TALK 41. NO 42. NO 43. NO 44. WE 45. TALK 46. SEVEN 47. RATS 48. YOUR 49. NAME 50. IT Since there are 46 items in the BEFORE list, and we seek the 37th. item, the item must be the 37th. item of the BEFORE list. We will therefore use recursion on the BEFORE list. *** ENTERING RECURSION LEVEL 1 Given the following list: 1. DAY 2. DAY 3. A 4. CLOUD 5. CLOUD 6. ALLOWED 7. BRUNO 8. A 9. GRIN 10. AN 11. ARE 12. AM 13. I 14. IM 15. AMOR 16. GO 17. BRUNO 18. DOING 19. HE 20. FLOODS 21. BRAIN 22. AND 23. HE 24. CAUSED 25. A 26. HURRICANE 27. A 28. DAY 29. BUT 30. ANYWAY 31. DONT 32. ABOUT 33. BRUNO 34. DONT 35. ABOUT 36. BRUNO 37. FOOT 38. FRAME 39. ALONG 40. HIS 41. BACK 42. IF 43. HE 44. CALLS 45. ALL 46. FADES We seek the 37th. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. DAY 2. DAY 3. A 4. CLOUD 5. CLOUD The median is: CLOUD We need to find the median of the following strings: 1. ALLOWED 2. BRUNO 3. A 4. GRIN 5. AN The median is: AN We need to find the median of the following strings: 1. ARE 2. AM 3. I 4. IM 5. AMOR The median is: ARE We need to find the median of the following strings: 1. GO 2. BRUNO 3. DOING 4. HE 5. FLOODS The median is: FLOODS We need to find the median of the following strings: 1. BRAIN 2. AND 3. HE 4. CAUSED 5. A The median is: BRAIN We need to find the median of the following strings: 1. HURRICANE 2. A 3. DAY 4. BUT 5. ANYWAY The median is: BUT We need to find the median of the following strings: 1. DONT 2. ABOUT 3. BRUNO 4. DONT 5. ABOUT The median is: BRUNO We need to find the median of the following strings: 1. BRUNO 2. FOOT 3. FRAME 4. ALONG 5. HIS The median is: FOOT We need to find the median of the following strings: 1. BACK 2. IF 3. HE 4. CALLS 5. ALL The median is: CALLS We need to find the median of the following strings: 1. FADES The median is: FADES Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 2 Given the following list: 1. CLOUD 2. AN 3. ARE 4. FLOODS 5. BRAIN 6. BUT 7. BRUNO 8. FOOT 9. CALLS 10. FADES We seek the 5th. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. CLOUD 2. AN 3. ARE 4. FLOODS 5. BRAIN The median is: BRAIN We need to find the median of the following strings: 1. BUT 2. BRUNO 3. FOOT 4. CALLS 5. FADES The median is: CALLS Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 3 Given the following list: 1. BRAIN 2. CALLS We seek the 1st. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. BRAIN 2. CALLS The median is: BRAIN Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 4 Given the following list: 1. BRAIN We seek the 1st. string. Since there is only one string in this list, no work is necessary. The desired string is: BRAIN *** EXITING RECURSION LEVEL 4 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: BRAIN The original list looks like this: 1. BRAIN 2. CALLS We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: The EQUAL list is: 1. BRAIN The AFTER list is: 1. CALLS Since there are 0 items in the BEFORE list, and 1 items in the EQUAL list, and we seek the 1st. item, the item must be the 1st. item of the EQUAL list. There is no need to recursively scan the EQUAL list. So, given the original list: 1. BRAIN 2. CALLS The 1st. string is: BRAIN *** EXITING RECURSION LEVEL 3 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: BRAIN The original list looks like this: 1. CLOUD 2. AN 3. ARE 4. FLOODS 5. BRAIN 6. BUT 7. BRUNO 8. FOOT 9. CALLS 10. FADES We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: 1. AN 2. ARE The EQUAL list is: 1. BRAIN The AFTER list is: 1. CLOUD 2. FLOODS 3. BUT 4. BRUNO 5. FOOT 6. CALLS 7. FADES Since there are 2 items in the BEFORE list, and 1 items in the EQUAL list, and we seek the 5th. item, the item must be the 2nd. item of the AFTER list. We will therefore use recursion on the AFTER list. *** ENTERING RECURSION LEVEL 3 Given the following list: 1. CLOUD 2. FLOODS 3. BUT 4. BRUNO 5. FOOT 6. CALLS 7. FADES We seek the 2nd. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. CLOUD 2. FLOODS 3. BUT 4. BRUNO 5. FOOT The median is: CLOUD We need to find the median of the following strings: 1. CALLS 2. FADES The median is: CALLS Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 4 Given the following list: 1. CLOUD 2. CALLS We seek the 1st. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. CLOUD 2. CALLS The median is: CALLS Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 5 Given the following list: 1. CALLS We seek the 1st. string. Since there is only one string in this list, no work is necessary. The desired string is: CALLS *** EXITING RECURSION LEVEL 5 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: CALLS The original list looks like this: 1. CLOUD 2. CALLS We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: The EQUAL list is: 1. CALLS The AFTER list is: 1. CLOUD Since there are 0 items in the BEFORE list, and 1 items in the EQUAL list, and we seek the 1st. item, the item must be the 1st. item of the EQUAL list. There is no need to recursively scan the EQUAL list. So, given the original list: 1. CLOUD 2. CALLS The 1st. string is: CALLS *** EXITING RECURSION LEVEL 4 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: CALLS The original list looks like this: 1. CLOUD 2. FLOODS 3. BUT 4. BRUNO 5. FOOT 6. CALLS 7. FADES We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: 1. BUT 2. BRUNO The EQUAL list is: 1. CALLS The AFTER list is: 1. CLOUD 2. FLOODS 3. FOOT 4. FADES Since there are 2 items in the BEFORE list, and we seek the 2nd. item, the item must be the 2nd. item of the BEFORE list. We will therefore use recursion on the BEFORE list. *** ENTERING RECURSION LEVEL 4 Given the following list: 1. BUT 2. BRUNO We seek the 2nd. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. BUT 2. BRUNO The median is: BRUNO Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 5 Given the following list: 1. BRUNO We seek the 1st. string. Since there is only one string in this list, no work is necessary. The desired string is: BRUNO *** EXITING RECURSION LEVEL 5 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: BRUNO The original list looks like this: 1. BUT 2. BRUNO We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: The EQUAL list is: 1. BRUNO The AFTER list is: 1. BUT Since there are 0 items in the BEFORE list, and 1 items in the EQUAL list, and we seek the 2nd. item, the item must be the 1st. item of the AFTER list. We will therefore use recursion on the AFTER list. *** ENTERING RECURSION LEVEL 5 Given the following list: 1. BUT We seek the 1st. string. Since there is only one string in this list, no work is necessary. The desired string is: BUT *** EXITING RECURSION LEVEL 5 REMINDER: The 1st. item of the AFTER list is the same as the 2nd. item of the original list: 1. BUT 2. BRUNO The 2nd. string is: BUT *** EXITING RECURSION LEVEL 4 REMINDER: The 2nd. item of the BEFORE list is the same as the 2nd. item of the original list: 1. CLOUD 2. FLOODS 3. BUT 4. BRUNO 5. FOOT 6. CALLS 7. FADES The 2nd. string is: BUT *** EXITING RECURSION LEVEL 3 REMINDER: The 2nd. item of the AFTER list is the same as the 5th. item of the original list: 1. CLOUD 2. AN 3. ARE 4. FLOODS 5. BRAIN 6. BUT 7. BRUNO 8. FOOT 9. CALLS 10. FADES The 5th. string is: BUT *** EXITING RECURSION LEVEL 2 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: BUT The original list looks like this: 1. DAY 2. DAY 3. A 4. CLOUD 5. CLOUD 6. ALLOWED 7. BRUNO 8. A 9. GRIN 10. AN 11. ARE 12. AM 13. I 14. IM 15. AMOR 16. GO 17. BRUNO 18. DOING 19. HE 20. FLOODS 21. BRAIN 22. AND 23. HE 24. CAUSED 25. A 26. HURRICANE 27. A 28. DAY 29. BUT 30. ANYWAY 31. DONT 32. ABOUT 33. BRUNO 34. DONT 35. ABOUT 36. BRUNO 37. FOOT 38. FRAME 39. ALONG 40. HIS 41. BACK 42. IF 43. HE 44. CALLS 45. ALL 46. FADES We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: 1. A 2. ALLOWED 3. BRUNO 4. A 5. AN 6. ARE 7. AM 8. AMOR 9. BRUNO 10. BRAIN 11. AND 12. A 13. A 14. ANYWAY 15. ABOUT 16. BRUNO 17. ABOUT 18. BRUNO 19. ALONG 20. BACK 21. ALL The EQUAL list is: 1. BUT The AFTER list is: 1. DAY 2. DAY 3. CLOUD 4. CLOUD 5. GRIN 6. I 7. IM 8. GO 9. DOING 10. HE 11. FLOODS 12. HE 13. CAUSED 14. HURRICANE 15. DAY 16. DONT 17. DONT 18. FOOT 19. FRAME 20. HIS 21. IF 22. HE 23. CALLS 24. FADES Since there are 21 items in the BEFORE list, and 1 items in the EQUAL list, and we seek the 37th. item, the item must be the 15th. item of the AFTER list. We will therefore use recursion on the AFTER list. *** ENTERING RECURSION LEVEL 2 Given the following list: 1. DAY 2. DAY 3. CLOUD 4. CLOUD 5. GRIN 6. I 7. IM 8. GO 9. DOING 10. HE 11. FLOODS 12. HE 13. CAUSED 14. HURRICANE 15. DAY 16. DONT 17. DONT 18. FOOT 19. FRAME 20. HIS 21. IF 22. HE 23. CALLS 24. FADES We seek the 15th. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. DAY 2. DAY 3. CLOUD 4. CLOUD 5. GRIN The median is: DAY We need to find the median of the following strings: 1. I 2. IM 3. GO 4. DOING 5. HE The median is: HE We need to find the median of the following strings: 1. FLOODS 2. HE 3. CAUSED 4. HURRICANE 5. DAY The median is: FLOODS We need to find the median of the following strings: 1. DONT 2. DONT 3. FOOT 4. FRAME 5. HIS The median is: FOOT We need to find the median of the following strings: 1. IF 2. HE 3. CALLS 4. FADES The median is: FADES Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 3 Given the following list: 1. DAY 2. HE 3. FLOODS 4. FOOT 5. FADES We seek the 3rd. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. DAY 2. HE 3. FLOODS 4. FOOT 5. FADES The median is: FLOODS Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 4 Given the following list: 1. FLOODS We seek the 1st. string. Since there is only one string in this list, no work is necessary. The desired string is: FLOODS *** EXITING RECURSION LEVEL 4 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: FLOODS The original list looks like this: 1. DAY 2. HE 3. FLOODS 4. FOOT 5. FADES We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: 1. DAY 2. FADES The EQUAL list is: 1. FLOODS The AFTER list is: 1. HE 2. FOOT Since there are 2 items in the BEFORE list, and 1 items in the EQUAL list, and we seek the 3rd. item, the item must be the 1st. item of the EQUAL list. There is no need to recursively scan the EQUAL list. So, given the original list: 1. DAY 2. HE 3. FLOODS 4. FOOT 5. FADES The 3rd. string is: FLOODS *** EXITING RECURSION LEVEL 3 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: FLOODS The original list looks like this: 1. DAY 2. DAY 3. CLOUD 4. CLOUD 5. GRIN 6. I 7. IM 8. GO 9. DOING 10. HE 11. FLOODS 12. HE 13. CAUSED 14. HURRICANE 15. DAY 16. DONT 17. DONT 18. FOOT 19. FRAME 20. HIS 21. IF 22. HE 23. CALLS 24. FADES We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: 1. DAY 2. DAY 3. CLOUD 4. CLOUD 5. DOING 6. CAUSED 7. DAY 8. DONT 9. DONT 10. CALLS 11. FADES The EQUAL list is: 1. FLOODS The AFTER list is: 1. GRIN 2. I 3. IM 4. GO 5. HE 6. HE 7. HURRICANE 8. FOOT 9. FRAME 10. HIS 11. IF 12. HE Since there are 11 items in the BEFORE list, and 1 items in the EQUAL list, and we seek the 15th. item, the item must be the 3rd. item of the AFTER list. We will therefore use recursion on the AFTER list. *** ENTERING RECURSION LEVEL 3 Given the following list: 1. GRIN 2. I 3. IM 4. GO 5. HE 6. HE 7. HURRICANE 8. FOOT 9. FRAME 10. HIS 11. IF 12. HE We seek the 3rd. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. GRIN 2. I 3. IM 4. GO 5. HE The median is: HE We need to find the median of the following strings: 1. HE 2. HURRICANE 3. FOOT 4. FRAME 5. HIS The median is: HE We need to find the median of the following strings: 1. IF 2. HE The median is: HE Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 4 Given the following list: 1. HE 2. HE 3. HE We seek the 2nd. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. HE 2. HE 3. HE The median is: HE Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 5 Given the following list: 1. HE We seek the 1st. string. Since there is only one string in this list, no work is necessary. The desired string is: HE *** EXITING RECURSION LEVEL 5 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: HE The original list looks like this: 1. HE 2. HE 3. HE We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: The EQUAL list is: 1. HE 2. HE 3. HE The AFTER list is: Since there are 0 items in the BEFORE list, and 3 items in the EQUAL list, and we seek the 2nd. item, the item must be the 2nd. item of the EQUAL list. There is no need to recursively scan the EQUAL list. So, given the original list: 1. HE 2. HE 3. HE The 2nd. string is: HE *** EXITING RECURSION LEVEL 4 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: HE The original list looks like this: 1. GRIN 2. I 3. IM 4. GO 5. HE 6. HE 7. HURRICANE 8. FOOT 9. FRAME 10. HIS 11. IF 12. HE We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: 1. GRIN 2. GO 3. FOOT 4. FRAME The EQUAL list is: 1. HE 2. HE 3. HE The AFTER list is: 1. I 2. IM 3. HURRICANE 4. HIS 5. IF Since there are 4 items in the BEFORE list, and we seek the 3rd. item, the item must be the 3rd. item of the BEFORE list. We will therefore use recursion on the BEFORE list. *** ENTERING RECURSION LEVEL 4 Given the following list: 1. GRIN 2. GO 3. FOOT 4. FRAME We seek the 3rd. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. GRIN 2. GO 3. FOOT 4. FRAME The median is: FRAME Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 5 Given the following list: 1. FRAME We seek the 1st. string. Since there is only one string in this list, no work is necessary. The desired string is: FRAME *** EXITING RECURSION LEVEL 5 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: FRAME The original list looks like this: 1. GRIN 2. GO 3. FOOT 4. FRAME We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: 1. FOOT The EQUAL list is: 1. FRAME The AFTER list is: 1. GRIN 2. GO Since there are 1 items in the BEFORE list, and 1 items in the EQUAL list, and we seek the 3rd. item, the item must be the 1st. item of the AFTER list. We will therefore use recursion on the AFTER list. *** ENTERING RECURSION LEVEL 5 Given the following list: 1. GRIN 2. GO We seek the 1st. string. We need to break this array into groups of five and, using brute force, find the median of each group. We need to find the median of the following strings: 1. GRIN 2. GO The median is: GO Having built an array of brute force medians, we now need to compute the EXACT median of this list. We will use recursion to do this. *** ENTERING RECURSION LEVEL 6 Given the following list: 1. GO We seek the 1st. string. Since there is only one string in this list, no work is necessary. The desired string is: GO *** EXITING RECURSION LEVEL 6 REMINDER: The above list was a list of brute force medians. The EXACT median of that list is: GO The original list looks like this: 1. GRIN 2. GO We will now pivot our ORIGINAL array around the median of medians. The BEFORE list is: The EQUAL list is: 1. GO The AFTER list is: 1. GRIN Since there are 0 items in the BEFORE list, and 1 items in the EQUAL list, and we seek the 1st. item, the item must be the 1st. item of the EQUAL list. There is no need to recursively scan the EQUAL list. So, given the original list: 1. GRIN 2. GO The 1st. string is: GO *** EXITING RECURSION LEVEL 5 REMINDER: The 1st. item of the AFTER list is the same as the 3rd. item of the original list: 1. GRIN 2. GO 3. FOOT 4. FRAME The 3rd. string is: GO *** EXITING RECURSION LEVEL 4 REMINDER: The 3rd. item of the BEFORE list is the same as the 3rd. item of the original list: 1. GRIN 2. I 3. IM 4. GO 5. HE 6. HE 7. HURRICANE 8. FOOT 9. FRAME 10. HIS 11. IF 12. HE The 3rd. string is: GO *** EXITING RECURSION LEVEL 3 REMINDER: The 3rd. item of the AFTER list is the same as the 15th. item of the original list: 1. DAY 2. DAY 3. CLOUD 4. CLOUD 5. GRIN 6. I 7. IM 8. GO 9. DOING 10. HE 11. FLOODS 12. HE 13. CAUSED 14. HURRICANE 15. DAY 16. DONT 17. DONT 18. FOOT 19. FRAME 20. HIS 21. IF 22. HE 23. CALLS 24. FADES The 15th. string is: GO *** EXITING RECURSION LEVEL 2 REMINDER: The 15th. item of the AFTER list is the same as the 37th. item of the original list: 1. DAY 2. DAY 3. A 4. CLOUD 5. CLOUD 6. ALLOWED 7. BRUNO 8. A 9. GRIN 10. AN 11. ARE 12. AM 13. I 14. IM 15. AMOR 16. GO 17. BRUNO 18. DOING 19. HE 20. FLOODS 21. BRAIN 22. AND 23. HE 24. CAUSED 25. A 26. HURRICANE 27. A 28. DAY 29. BUT 30. ANYWAY 31. DONT 32. ABOUT 33. BRUNO 34. DONT 35. ABOUT 36. BRUNO 37. FOOT 38. FRAME 39. ALONG 40. HIS 41. BACK 42. IF 43. HE 44. CALLS 45. ALL 46. FADES The 37th. string is: GO *** EXITING RECURSION LEVEL 1 REMINDER: The 37th. item of the BEFORE list is the same as the 37th. item of the original list: 1. IT 2. WAS 3. MY 4. WEDDING 5. DAY 6. IT 7. WAS 8. OUR 9. WEDDING 10. DAY 11. THERE 12. WAS 13. NOT 14. A 15. CLOUD 16. IN 17. THE 18. SKY 19. NO 20. CLOUD 21. ALLOWED 22. IN 23. THE 24. SKY 25. BRUNO 26. WALKED 27. IN 28. WITH 29. A 30. MISCHIEVOUS 31. GRIN 32. AN 33. THUNDER 34. ARE 35. YOU 36. TELLING 37. THIS 38. STORY 39. OR 40. AM 41. I 42. IM 43. SORRY 44. MI 45. AMOR 46. GO 47. ON 48. BRUNO 49. SAID 50. IT 51. LOOKED 52. LIKE 53. RAIN 54. IN 55. DOING 56. SO 57. HE 58. FLOODS 59. MY 60. BRAIN 61. AND 62. THEN 63. HE 64. CAUSED 65. A 66. HURRICANE 67. WHAT 68. A 69. JOYOUS 70. DAY 71. BUT 72. ANYWAY 73. WE 74. DONT 75. TALK 76. ABOUT 77. BRUNO 78. NO 79. NO 80. NO 81. WE 82. DONT 83. TALK 84. ABOUT 85. BRUNO 86. SEVEN 87. FOOT 88. FRAME 89. RATS 90. ALONG 91. HIS 92. BACK 93. IF 94. HE 95. CALLS 96. YOUR 97. NAME 98. IT 99. ALL 100. FADES The 37th. string is: GO *** EXITING PROGRAM *** The 37th. string is: GO