def fitness_func(genes, solution_idx):
    group1Sum = sum(genes[0:5])
    group2Product = functools.reduce(operator.mul, genes[5:10])
    duplicateCount = (len(genes) - len(set(genes)))
    return ((1 / ((abs((36 - group1Sum)) + abs((360 - group2Product))) + 1)) - duplicateCount)
def fitness_func(genes, solution_idx):
    group1Sum = sum(genes[0:5])
    group2Product = functools.reduce(operator.mul, genes[5:10])
    duplicateCount = (len(genes) - len(set(genes)))
    return ((1 / ((abs((36 - group1Sum)) + abs((360 - group2Product))) + 1)) - duplicateCount)