@Override
    public String solve() {

        final int[][] masks = createMasks(7);
        
        for (int sum = 28; sum <= 271; ++sum) {
            for (int i1 = 1; i1 * 7 <= sum - 21; ++i1) {
                for (int i2 = i1 + 1; i1 + i2 * 6 <= sum - 15; ++i2) {
                    for (int i3 = i2 + 1; i1 + i2 + i3 * 5 <= sum - 10; ++i3) {
                        for (int i4 = max(i3, sum / 2 - (i1 + i2 + i3)) + 1; i1 + i2 + i3 + i4 * 4 <= sum - 6; ++i4) {
                            for (int i5 = i4 + 1; i1 + i2 + i3 + i4 + i5 * 3 <= sum - 3; ++i5) {
                                for (int i6 = i5 + 1; i1 + i2 + i3 + i4 + i5 + i6 * 2 <= sum - 1; ++i6) {
                                    int i7 = sum - (i1 + i2 + i3 + i4 + i5 + i6);
                                    
                                    if (isSpecialSumSet(masks, i1, i2, i3, i4, i5, i6, i7)) {
                                        return "" + i1 + i2 + i3 + i4 + i5 + i6 + i7;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        
        return null;
    }