рони, то не будет удовлетворять требованиям из первого поста

Первый цикл обеспечивает количество, второй бизнес-логику. Собственно, второй цикл можно вынести в отдельную функцию при желании.
Там просто форматирование куда-то улетело. Я прошелся
бьютифайером и обновил код выше.