https://www.coursera.org/learn/cs-programming-java/home/welcome
slides for lecture - https://introcs.cs.princeton.edu/java/lectures/keynote/CS.6.Recursion.pdf
task - https://coursera.cs.princeton.edu/introcs/assignments/recursion/specification.php
hints - https://coursera.cs.princeton.edu/introcs/assignments/recursion/faq.php