simple recursive approach
if you don\'t want to use bit just use recursion to generate all possible combination of 1 and 0 of length n beacause bit also do the same thing but if you are 
if you don\'t want to use bit just use recursion to generate all possible combination of 1 and 0 of length n beacause bit also do the same thing but if you are confused then it\'s good to go without bit.\nif you have any queries then please comment below \nthanks.\n```\ndef fun(n,ans,c): #this generate all the combination of 1 and 0 of lenght n.(simple recursion)\n    if len(c)==n:\n        ans.append(c)\n        return\n    p=c\n    fun(n,ans,p+"1")\n    fun(n,ans,c+"0")\n\nclass Solution:\n    def maximumGood(self, st: List[List[int]]) -> int:\n        n=len(st)\n        ans=[]\n        c=""\n        fun(n,ans,c)\n        res=0\n        for i in ans:\n            g=i\n            flag=True\n            for j in range(n):\n                if g[j]=="1": # this is because we don\'t need to check for bad because he can lie also so we don\'t care about bad one.\n                    for k in range(n):\n                        if st[j][k]!=2 and st[j][k]!=int(g[k]): \n                            flag = False\n                            break\n                    if not flag:\n                        break\n            if flag:\n                res = max(res,g.count("1"))\n        return res\n\t\t\n
['Backtracking', 'Recursion', 'Python']