Так совсем недавно подобную задачу решали, около недели назад:
https://owen.ru/forum/showthread.php?t=40790&page=9