Python Brute Force
```\nm = len(matrix)\n        n = len(matrix[0])\n        colcombs = list(itertools.combinations(list(range(n)), numSelect))\n        \n        maxcovered = 0\n
```\nm = len(matrix)\n        n = len(matrix[0])\n        colcombs = list(itertools.combinations(list(range(n)), numSelect))\n        \n        maxcovered = 0\n        for i in range(len(colcombs)):\n            covered = 0\n            for j in range(m):\n                flag = 0\n                if all(x == 0 for x in matrix[j]):\n                    flag = 1\n                  \n                if all (k in colcombs[i]  for k in range(n) if matrix[j][k] == 1):\n                    flag = 1\n                \n                if flag == 1:\n                    covered+=1\n            maxcovered = max(covered, maxcovered)\n        \n        return(maxcovered)\n
[]