Problem:

Aim is to compute the max *k *value* *for each query. To compute the maximum *k* value, we can follow these steps:

1. **Compute in Reverse Order: **The XOR operation is performed by considering only the first element *nums[0]* for the last query. For the second last query, the XOR operation is performed by using the first two elements *nums[0], nums[1]*. This pattern suggests computing the queries in reverse order, starting from the *nth *query down to the first query. This simplifies the computation process.

2. **Maintain the running XOR:** We can maintain a variable called *totXor.* This value is updated with the XOR of current element *nums[i]* in each iteration.

3. **Find the max k value: **The condition is that the XOR of i elements and

*k*should have the maximum value. To find such

*k*value, we can perform XOR between

*totXor*value and the maximum value. This maximum value is pow(2, maxBit) -1.

Below is the code to find k values: