import java.nio.file.*;
import java.util.*;

public class Euler105 {
    static boolean isSpecial(int[] s) {
        Arrays.sort(s);
        int n = s.length;
        for (int k = 1; k < n; k++) {
            int lo = 0, hi = 0;
            for (int i = 0; i <= k; i++)
                lo += s[i];
            for (int i = n - k; i < n; i++)
                hi += s[i];
            if (lo <= hi)
                return false;
        }
        Map<Integer, Integer> sums = new HashMap<>();
        for (int mask = 1; mask < (1 << n); mask++) {
            int sum = 0;
            for (int i = 0; i < n; i++)
                if ((mask & (1 << i)) != 0)
                    sum += s[i];
            for (Map.Entry<Integer, Integer> e : sums.entrySet())
                if ((e.getKey() & mask) == 0 && e.getValue() == sum)
                    return false;
            sums.put(mask, sum);
        }
        return true;
    }

    public static void main(String[] args) throws Exception {
        List<String> lines = Files.readAllLines(Path.of("resources/documents/0105_sets.txt"));
        int total = 0;
        for (String line : lines) {
            line = line.trim();
            if (line.isEmpty())
                continue;
            int[] vals = Arrays.stream(line.split(",")).mapToInt(Integer::parseInt).toArray();
            if (isSpecial(vals))
                total += Arrays.stream(vals).sum();
        }
        System.out.println(total);
    }
}
