алгоритм решения