def weight_sum(scores, weights):
    weights = list(map((lambda x: float(x)), weights.split(' ')))
    aggregate_scores = np.zeros(len(scores[0]))
    for (model_scores, weight) in zip(scores, weights):
        scores_weights = (np.array(model_scores) * weight)
        aggregate_scores += scores_weights
    best = int(np.argmax(aggregate_scores))
    return best
def weight_sum(scores, weights):
    weights = list(map((lambda x: float(x)), weights.split(' ')))
    aggregate_scores = np.zeros(len(scores[0]))
    for (model_scores, weight) in zip(scores, weights):
        scores_weights = (np.array(model_scores) * weight)
        aggregate_scores += scores_weights
    best = int(np.argmax(aggregate_scores))
    return best