🏡 index : github.com/captn3m0/codechef.git

---
{"category_name":"easy","problem_code":"XOREQN","problem_name":"Xor Equation","problemComponents":{"constraints":"- $1 \\leq T \\leq 10^5$\n- $1 \\leq N \\leq 10^6$\n- $0 \\leq A_i \\leq 10^{18}$\n- The value of $N$ is guaranteed to be odd.\n- Sum of $N$ over all test cases is less than or equal to $10^6$.\n","constraintsState":true,"subtasks":"**Subtask 1 (20 points):**\n- $1\\leq T\\leq 10^3$\n- $1\\leq N \\leq 10^3$\n- $0\\leq A_i \\leq 10^3$\n- The value of $N$ is guaranteed to be odd.\n- Sum of $N$ over all test cases is less than or equal to $10^3$.\n\n**Subtask 2 (80 points):**\n- Original constraints\n","subtasksState":true,"inputFormat":"- First line of the input contains a single integer $T$, the number of test cases. The description of $T$ test cases follows.\n- The first line of each test case contains a single integer $N$, denoting the size of the array $A$.\n- The second line of each test case contains $N$ space-separated non-negative integers $A_1, A_2 \\dots A_N$.\n","inputFormatState":true,"outputFormat":"For each test case, print a single line containing one integer. If there does not exist any non-negative integer $x$ that satisfies the given equation, print $-1$. Otherwise, print the minimum value of $x$ that satisfies the given equation.","outputFormatState":true,"sampleTestCases":{"0":{"id":1,"input":"4\n3\n2 4 5\n3\n0 0 0\n3\n1 1 1\n3\n1 1 2\n","output":"1\n0\n-1\n-1\n","explanation":"**Test case 1:**\n\nWe have to find minimum non-negative integer $x$ such that \n$$(2 + x) \\oplus (4 + x) \\oplus (5 + x) = 0$$\nLet $f(x) = (2 + x) \\oplus (4 + x) \\oplus (5 + x)$.\n- For $x = 0$, we have\n$$f(0) = (2 + 0) \\oplus (4 + 0) \\oplus (5 + 0) = 2\\oplus 4\\oplus 5 = 3$$\n- For $x = 1$, we have\n$$f(1) = (2 + 1) \\oplus (4 + 1) \\oplus (5 + 1) = 3\\oplus 5\\oplus 6 = 0$$\n\nTherefore, $x = 1$ is the minimum non-negative integer that satisfies the given equation.\n\n**Test case 2:**\n\nWe have to find minimum non-negative integer $x$ such that \n$$(0 + x) \\oplus (0 + x) \\oplus (0 + x) = 0$$\ni.e. $x \\oplus x \\oplus x = 0$. But since $0 \\oplus 0 \\oplus 0 = 0$, it follows that $x = 0$ is the minimum non-negative integer that satisfies the given equation.\n\n**Test case 3:**\n\nWe have to find minimum non-negative integer $x$ such that \n$$(1 + x) \\oplus (1 + x) \\oplus (1 + x) = 0$$\nBut $a \\oplus a = 0$ and $0 \\oplus a = a$ for any non-negative integer $a$. It follows that \n$$(1 + x) \\oplus (1 + x) \\oplus (1 + x) = 0 \\oplus (1 + x) = 1 + x$$\n\nThis implies that $x$ satisfies the given equation if and only if it satisfies $1 + x = 0$ if and only if $x = -1$. But $-1$ is a negative integer and therefore, there does not exist any $x$ that satisfies the given equation.\n\n\n**Test case 4:**\n\nWe have to find minimum non-negative integer $x$ such that \n$$(1 + x) \\oplus (1 + x) \\oplus (2 + x) = 0$$\nIt follows that \n$$(1 + x) \\oplus (1 + x) \\oplus (2 + x) = 0 \\oplus (2 + x) = 2 + x$$\n\nThis implies that $x$ satisfies the given equation if and only if it satisfies $2 + x = 0$, which can only happen if $x = -2$. But $-2$ is a negative integer and therefore, there does not exist any non-negative $x$ that satisfies the given equation, hence we output $-1$.","isDeleted":false}}},"video_editorial_url":"","languages_supported":{"0":"CPP14","1":"C","2":"JAVA","3":"PYTH 3.6","4":"CPP17","5":"PYTH","6":"PYP3","7":"CS2","8":"ADA","9":"PYPY","10":"TEXT","11":"PAS fpc","12":"NODEJS","13":"RUBY","14":"PHP","15":"GO","16":"HASK","17":"TCL","18":"PERL","19":"SCALA","20":"LUA","21":"kotlin","22":"BASH","23":"JS","24":"LISP sbcl","25":"rust","26":"PAS gpc","27":"BF","28":"CLOJ","29":"R","30":"D","31":"CAML","32":"FORT","33":"ASM","34":"swift","35":"FS","36":"WSPC","37":"LISP clisp","38":"SQL","39":"SCM guile","40":"PERL6","41":"ERL","42":"CLPS","43":"ICK","44":"NICE","45":"PRLG","46":"ICON","47":"COB","48":"SCM chicken","49":"PIKE","50":"SCM qobi","51":"ST","52":"SQLQ","53":"NEM"},"max_timelimit":1,"source_sizelimit":50000,"problem_author":"suryaprak_adm","problem_tester":"","date_added":"1-11-2021","tags":{"0":"bit","1":"easy","2":"nov21","3":"suryaprak_adm"},"problem_difficulty_level":"Unavailable","best_tag":"Bit Manipulation","editorial_url":"https://discuss.codechef.com/problems/XOREQN","time":{"view_start_date":1636968600,"submit_start_date":1636968600,"visible_start_date":1636968600,"end_date":1735669800},"is_direct_submittable":false,"problemDiscussURL":"https://discuss.codechef.com/search?q=XOREQN","is_proctored":false,"visitedContests":{},"layout":"problem"}
---
This is an example statement in markdown. This is the statement of the problem [TANDC](https://codechef.com/problems/TANDC) on CodeChef. The main statement starts with the next paragraph. Please make sure to remove this paragraph from your statement before publishing your problem. If your problem doesn't contain Subtasks, you should remove the section subtask too. We are using markdown the syntax of which can be seen [at](https://github.com/showdownjs/showdown/wiki/Showdown's-Markdown-syntax). We request you to not use any HTML tags in the statement, e.g. no p, ul, li, pre, br or b tags. If you face any issue, please contact admins or email us at help@codechef.com.

Tracy is teaching Charlie maths via a game called $N$-Cube, which involves three sections involving $N$.

Tracy gives Charlie a number $N$, and Charlie makes a list of $N$-th powers of integers in increasing order $1^N, 2^N, 3^N, \dot, \text{so on}$. This teaches him exponentiation.

Then Charlie performs the following subtraction game $N$ times: Take all pairs of consecutive numbers in the list and take their difference. These differences then form the new list for the next iteration of the game. Eg, if $N$ was 6, the list proceeds as $[1, 64, 729, 4096 ... ]$ to $[63, 685, 3367 ...]$, and so on $5$ more times.

After the subtraction game, Charlie has to correctly tell Tracy the $N$-th element of the list. This number is the *value of the game*.

After practice Charlie became an expert in the game. To challenge him more, Tracy will give two numbers $M$ (where $M$ is a prime) and $R$ instead of just a single number $N$, and the game must start from $M_R - 1$ instead of $N$. Since the *value of the game* can now become large, Charlie just have to tell the largest integer $K$ such that $M_K$ divides this number. Since even $K$ can be large, output $K$ modulo 1000000007 ($10^9 + 7$).

<aside style='background: #f8f8f8;padding: 10px 15px;'><div>All submissions for this problem are available.</div></aside>