def get_overall_misclassifications(H, training_points, classifier_to_misclassified):
    """Given an overall classifier H, a list of all training points, and a
    dictionary mapping classifiers to the training points they misclassify,
    returns a set containing the training points that H misclassifies.
    H is represented as a list of (classifier, voting_power) tuples."""
    misclassified_points = []
    for point in training_points:
        output = 0
        for classifier in H:
            if point in classifier_to_misclassified[classifier[0]]:
                output += classifier[1]*-1
            else:
                output += classifier[1]*1
        if output <= 0:
            misclassified_points.append(point)
    return set(misclassified_points)