{"trustable":false,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e\n .input, .output {\n border: 1px solid #888888;\n }\n .output {\n margin-bottom: 1em;\n position: relative;\n top: -1px;\n }\n .output pre, .input pre {\n background-color: #EFEFEF;\n line-height: 1.25em;\n margin: 0;\n padding: 0.25em;\n }\n \u003c/style\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"//codeforces.org/s/96598/css/problem-statement.css\" type\u003d\"text/css\" /\u003e\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript type\u003d\"text/javascript\" async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS_HTML-full\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"MD","content":"Lsr发现有两个长度为n的二进制整数a和b,可以有前导零。为了不忘记它们,她用下面的方法构造整数d。\n\n- 她创建了一个整数c,作为a和b的位相加的结果,而不转移携带,所以c可以有一个或多个2。例如,0110和1101按位相加的结果是1211,还有011000和011000之和是022000。\n- 随后Lsr将c中相等的连续数位替换为一位数,从而得到d,在上面的情况下,经过这个操作。\n 1211变成121,022000变成020(所以,d不会有相等的连续数字)。\n\n不幸的是,Lsr在自己计算d之前就失去了整数a。现在,你要找到任何长度为n的二进制整数a,这样d将是最大可能的整数。\n\n其中102\u003e21,012\u003c101,021\u003d21。"}},{"title":"Input","value":{"format":"MD","content":"第一行为 t,表示测试数据的数量。\n第二行为 n,表示a,b的长度。\n第三行为 b,是一个长度为 n 仅有0和1组成的二进制数。\n题目保证t组测试数据情况中n的总和不超过100000。"}},{"title":"Output","value":{"format":"MD","content":"对于每组测试样例,输出满足题意的 a。a 和 b 的长度均为 n。"}},{"title":"Example","value":{"format":"MD","content":"\u003cdiv class\u003d\"sample-test\"\u003e\n \u003cdiv class\u003d\"input\"\u003e\n \u003cdiv class\u003d\"title\"\u003e\n Input\n \u003c/div\u003e\n \u003cpre\u003e5\n1\n0\n3\n011\n3\n110\n6\n111000\n6\n001011\n\u003c/pre\u003e\n \u003c/div\u003e\n \u003cdiv class\u003d\"output\"\u003e\n \u003cdiv class\u003d\"title\"\u003e\n Output\n \u003c/div\u003e\n \u003cpre\u003e1\n110\n100\n101101\n101110\n\u003c/pre\u003e\n \u003c/div\u003e\n\u003c/div\u003e"}},{"title":"Note","value":{"format":"MD","content":"在第一个测试数据中, *b* \u003d 0,所以选择 *a* \u003d 1 ,所生成的 *d* \u003d 1.\n\n在第二个测试数据中,*b* \u003d 011,因此: \n\n- 如果你选择 *a* \u003d 000 ,所以 *c* \u003d 011,*d* \u003d 01.\n- 如果你选择 *a* \u003d 111 ,所以 *c* \u003d 122,*d* \u003d 12.\n- 如果你选择 *a* \u003d 010 ,你会得到 *d* \u003d 021.\n- 如果你选择 *a* \u003d 110 ,你会得到 *d* \u003d 121.\n\n我们可以看出当选择 *a* \u003d 110 时得到的 *d* \u003d 121 是最优选择.\n\n在第三个测试数据中,*b* \u003d 110,选择 *a* \u003d 100,此时 *d* \u003d 210,这是最优选择.\n\n在第四个测试数据中,*b* \u003d 111000,选择 *a* \u003d 101101,此时 *d* \u003d 212101,这是最优选择.\n\n在第五个测试数据中,*b* \u003d 001011,选择 *a* \u003d 101110,此时 *d* \u003d 102121,这是最优选择."}}]}