Базовая логика алгоритмов сделана, теперь надо бы это все проверить)))