# Help me in solving CS2023_PON problem

### My code

``````def find_subsequence_exists(T, test_cases):
result = []

for _ in range(T):
N, B = test_cases[_][0]
A = test_cases[_][1]

subsequence_exists = False

bitwise_and = None
for i in range(N):
if bitmask & (1 << i):
if bitwise_and is None:
bitwise_and = A[i]
else:
bitwise_and &= A[i]

if bitwise_and == B:
subsequence_exists = True
break

result.append("YES" if subsequence_exists else "NO")

return result

T = int(input())
test_cases = []
for _ in range(T):
N, B = map(int, input().split())
A = list(map(int, input().split()))
test_cases.append(((N, B), A))

# Solve the problem
output = find_subsequence_exists(T, test_cases)

# Print output
for result in output:
print(result)
``````

Problem Link: CS2023_PON Problem - CodeChef

Hi there, welcome to the community.

In this question, you have to take Bit wise and of all the numbers that has all the set bits of number b.

For example, if b = 5, we have to take all the numbers from the array that have 20 bit and 22 bit set, for example, 7, 13, 21, 15 etc.

Now, if their and is equal to 5, then it should print YES, else NO