я в твой алгоритм вникать не особо стала, так как сама знаю, как делать, работа примитивная, для новичка потренироваться