оба алгоритма рабочие