Стоящая передо мной задача выглядит примерно так:

читать дальше