---
{"category_name":"easy","problem_code":"VANDH","problem_name":"Valleys and Hills","problemComponents":{"constraints":"- $1 \\leq T \\leq 2500$\n- $1 \\leq N \\leq 500$\n- $1 \\leq M \\leq 500$\n- The sum of lengths of the answer strings across all test cases does not exceed $2\\cdot 10^5$\n","constraintsState":true,"subtasks":"**Subtask 1 (10 points):** \n- $1 \\leq N \\leq 50$\n- $1 \\leq M \\leq 50$\n- You may output any string of length not exceeding $320$ containing exactly $N$ hills and $M$ valleys: it **need not be shortest by length**. It is guaranteed that at least one such string with length $\\leq 320$ exists.\n\n**Subtask 2 (90 points):**\n- Original constraints\n- The binary string you construct **must be shortest by length**.","subtasksState":true,"inputFormat":"- The first line of input will contain a single integer $T$, denoting the number of test cases. The description of $T$ test cases follows.\n- The first and only line of each test case contains two space-separated integers $N$ and $M$, the required number of hills and valleys respectively.\n","inputFormatState":true,"outputFormat":"For each test case, output two lines.\n- The first line contains the length of the binary string you constructed to satisfy the given conditions.\n- The second line contains the string itself.\n","outputFormatState":true,"sampleTestCases":{"0":{"id":1,"input":"3\n3 2\n2 3\n3 3","output":"7\n0101010\n7\n1010101\n8\n01010101","explanation":"**Test case $1$:** The given string has hills at indices $2, 4, 6$ and valleys at indices $3, 5$. It can be verified that there is no string of length $6$ or less with $3$ hills and $2$ valleys. Note that for subtask $1$, a binary string like $001010100$ will also be accepted as a valid output, even though it is not shortest by length. \n\n**Test case $3$:** Apart from the given string, another possible string of length $8$ that has $3$ hills and $3$ valleys is $10101010$. You may print any of them.\n","isDeleted":false}}},"video_editorial_url":"https://youtu.be/WY1mhf4NXwA","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":"tejas10p","problem_tester":"","date_added":"1-12-2021","tags":{"0":"dec21","1":"easy","2":"tejas10p"},"problem_difficulty_level":"Unavailable","best_tag":"","editorial_url":"https://discuss.codechef.com/problems/VANDH","time":{"view_start_date":1639387800,"submit_start_date":1639387800,"visible_start_date":1639387800,"end_date":1735669800},"is_direct_submittable":false,"problemDiscussURL":"https://discuss.codechef.com/search?q=VANDH","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>