For the i-th machine, if you push the button on it, it will give you a coin valued at ai. If you push the button again, it will give you a coin valued at bi. If you push the button the third time, it will give you a coin valued at aiagain. However, it won't give you coins any more even you push the button because the i-th machine only has three coins.
Now you want to obtain kcoins from these machines, and you should make the total value of these coins as maximum as possible. Let's denote the maximum total value of these kcoins as f(k).
You are required to output the value of f(1)⊕f(2)⊕f(3)⊕⋯⊕f(m), where mis a given number and ⊕means the xor operatation.
To avoid spending too much time reading all the data, we use xorshift128plus algorithm to generate the testdata, this algorithm is parameterized with two initial seed k1and k2. Please refer to the code (written in C++) in the below: