

The first line contains an Integer 'T' which denotes the number of test cases or queries to be run. Then the test cases follow.
The first line of each test case contains an integer 'NUM' representing the number whose binary representation is to be flipped.
The second line of each test case contains an integer 'N' representing the size of the array/list.
The third line of each test case contains 'N' single space-separated integers representing the elements of the given array/list ‘ARR’.
For each test case, print a single line containing an integer that represents the Modified Integer.
Output for each test case will be printed in a separate line.
You are not required to print the output, it has already been taken care of. Just implement the function.
1 <= 'T' <= 10
1 <= 'NUM' <= 10^9
1 <= 'N' <= 10^5
1 <= 'ARR[i]' <= 31
Time Limit: 1 sec
The problem could be solved by first using the left shift operator on the binary representation of the number 1 upto every index given ‘ARRAY[i]’ so that the bit ‘1’ is shifted to the required index of the bit which is to be flipped. Now perform bitwise XOR between the shifted result and the given number ‘NUM’ and update ‘NUM’ with the new result.
The steps are as follows :-
A potential solution to this problem could be to use the library (api) present in the respective programming language (like bitset in C++) and (the ‘bin’ and ‘int’ function in python) to convert a decimal number given M (integer) into its respective binary representation (string or character array) which can then be used to flip the bits at all the given indices as per the indices array ('ARR[i]') starting from the end of the binary representation.
The steps are as follows :-