Рекурсивный алгоритм