def METHOD_NAME(algorithm_type, location):
    """Decorate and register all Algorithm subclasses.
    Args:
        cls (class): The class of register.
        algorithm_type (str): The algorithm registration name
        location (str): The location to call algorithms
    Returns:
        cls: The class of register.
    """
    def decorator_algorithm(cls):
        if location in registry_algorithms and algorithm_type in registry_algorithms[location]:
            raise ValueError("Cannot have two algorithms with the same name")
        if location not in registry_algorithms:
            registry_algorithms[location] = {}
        registry_algorithms[location][algorithm_type] = cls()
        return cls
    return decorator_algorithm