Я так понял, что это нужно написать на ЯП Pascal
Вот скриншот и прикрепленный файл с кодом.
Набирать здесь не буду из-за неудобочитаемости.
Работает стабильно, хоть и всегда можно реализовать как-то еще проще :)
upd: обновил фалы, теперь всё написано как надо