In this chapter I will not use any external libraries. Still, once you read the problem description you may decide to do otherwise.
You may compare your own solution with the one in this chapter’s text (with explanations) or with the code snippets (without explanations).