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

---
{"category_name":"medium","problem_code":"MINFUND","problem_name":"Min-Fund Country","problemComponents":{"constraints":"- $1 \\leq T \\leq 10^5$\n- $2 \\leq n \\leq 10^5$\n- $1 \\leq m \\leq 5 \\cdot 10^5$\n- $1 \\leq c \\leq 10^9$\n- $1 \\leq u_i, v_i \\leq n$ and $u_i \\neq v_i$\n- $2 \\leq \\sum n \\leq 10^5$\n- $1 \\leq \\sum m \\leq 5 \\cdot 10^5$\n- There is atmost one road between any $x$ and $y$.","constraintsState":true,"subtasks":"The input is divided into multiple subtasks. You will get the points for a subtask if you solve all the testcases for a subtask correctly within the time limit.\n\n- **Subtask 1** [$3$ points]: There is a road between $u$ and $v$ for all $u, v \\in \\{1, 2, \\dots, n\\}$ such that $u \\neq v$\n\n- **Subtask 2** [$3$ points]: $m=n-1$ and $u_i = 1$ for $1 \\leq i \\leq m$. There exists a path between $u$ and $v$ for all $u, v. (1 \\leq u, v \\leq n)$.\n\n- **Subtask 3** [$8$ points]: $m = n-1$ and there exists a path between $u$ and $v$ for all $u, v. (1 \\leq u, v \\leq n)$.\n\n- **Subtask 4** [$14$ points]: There exists a path between $u$ and $v$ for all $u, v. (1 \\leq u, v \\leq n)$.\n\n- **Subtask 5** [$6$ points]: $2 \\leq \\sum n \\leq 18$ and $1 \\leq \\sum m \\leq 18$\n\n- **Subtask 6** [$16$ points]: $2 \\leq \\sum n \\leq 300$ and $1 \\leq \\sum m \\leq 300$\n\n- **Subtask 7** [$20$ points]: $2 \\leq \\sum n \\leq 4000$ and $1 \\leq \\sum m \\leq 4000$\n\n- **Subtask 8** [$30$ points]: Original Constraints","subtasksState":true,"inputFormat":"- First line will contain $T$, number of test cases. Then the test cases follow.\n- The first line of each test case consists of three integers $n$, $m$ and $c$.\n- $m$ lines follow, each consisting of $2$ integers $u_i$ and $v_i$ indicating a road between houses $u_i$ and $v_i$.\n","inputFormatState":true,"outputFormat":"For each test case, output the **minimum funding** required to divide the country per the president\u0027s requirements, or $-1$ if no division is possible.","outputFormatState":true,"sampleTestCases":{"0":{"id":1,"input":"4\n4 6 5\n4 3\n2 3\n2 4\n1 2\n4 1\n3 1\n6 6 2\n1 4\n2 5\n3 6\n1 5\n3 5\n6 5\n6 5 7\n1 4\n2 5\n3 6\n3 5\n6 5\n7 5 4\n1 4\n3 6\n3 5\n6 5\n2 7\n","output":"-1\n20\n25\n33\n","explanation":"- \u003Cb\u003ETest case $1$\u003C/b\u003E: there is no way to divide the country according to the mayor\u0027s requirements.\n\u003Cbr\u003E\u003Cbr\u003E\n- \u003Cb\u003ETest case $2$\u003C/b\u003E: consider the $2$ cities consisting of $\\{2, 3, 5, 6\\}$ and $\\{1, 4\\}$ houses respectively. There are no new roads built. The total funding is $4^2 + 2^2 = 20$. This is the optimal assignment.\n\n\u003Cimg src=\u0022https://espresso.codeforces.com/4c979267eda0c2a17cebb21fa9fd90ce7cea8f0f.png\u0022 alt=\u0022Sample 2\u0022 /\u003E\n\u003Cbr\u003E\u003Cbr\u003E\n- \u003Cb\u003ETest case $3$\u003C/b\u003E: build a road between $2$ and $4$. Consider the $2$ cities consisting of $\\{3, 5, 6\\}$ and $\\{1, 2, 4\\}$ houses respectively. The total funding is $3^2 + 3^2 + 7 \\times 1 = 25$. This is the optimal assignment.\n\n\u003Cimg src=\u0022https://espresso.codeforces.com/2b5a587189133d1cfd40bfc8ae0c800e77a82bc3.png\u0022 alt=\u0022Sample 3\u0022 /\u003E\n\u003Cbr\u003E\u003Cbr\u003E\n- \u003Cb\u003ETest case $4$\u003C/b\u003E: build a road between $2$ and $4$ and between $5$ and $7$. Consider the $2$ cities consisting of $\\{1, 2, 4, 7\\}$ and $\\{3, 5, 6\\}$ houses respectively. The total funding is $4^2 + 3^2 + 4 \\times 2 = 33$. This is the optimal assignment.\n\n\u003Cimg src=\u0022https://espresso.codeforces.com/f9b632076e770b25d8404ec6870464de7e27c5d1.png\u0022 alt=\u0022Sample 4\u0022 /\u003E\n\u003Cbr\u003E\u003Cbr\u003E\nNote for all test cases that there may be multiple ways to get the same funding but there is no other division which has a smaller funding. ","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":"saarang123","problem_tester":"aryanc403","date_added":"11-11-2021","tags":{"0":"bridges","1":"dynamic","2":"knapsack","3":"ltime102","4":"saarang123"},"problem_difficulty_level":"Medium-Hard","best_tag":"Dynamic Programming","editorial_url":"https://discuss.codechef.com/problems/MINFUND","time":{"view_start_date":1638032400,"submit_start_date":1638032400,"visible_start_date":1638032400,"end_date":1735669800},"is_direct_submittable":false,"problemDiscussURL":"https://discuss.codechef.com/search?q=MINFUND","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>