{"trustable":true,"prependHtml":"\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 async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\" type\u003d\"text/javascript\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"HTML","content":"\u003cdiv class\u003d\"panel_content\"\u003e注意:请勿在一行的末尾输出额外的空格。\u003cbr\u003e\u003cbr\u003e设 $p_1, p_2, \\cdots, p_n$ 是长度为 $n$ 的排列,渡渡鸟构建了长度为 $n$ 的数组 $a$,其中 $a_i$ 表示从 $p_1, p_2, \\cdots, p_i$ 得到的单调栈的大小。例如,如果 $p$ 是 $3,1,4,5,6,2$,我们逐个将排列中的元素加入单调栈,单调栈的变化如下:\u003cbr\u003e\u003cbr\u003e$$3 \\to 1 \\to 1,4 \\to 1,4,5 \\to 1,4,5,6 \\to 1,2$$\u003cbr\u003e\u003cbr\u003e因此,相应的数组 $a$ 是 $1,1,2,3,4,2$。\u003cbr\u003e\u003cbr\u003e多年后,渡渡鸟发现了数组 $a$,但是某些位置的值无法辨认了。他想知道可能是原始排列的排列有多少种。由于答案可能非常大,你只需输出模 $10^9+7$ 后的答案。\u003c/div\u003e"}},{"title":"输入","value":{"format":"HTML","content":"第一行包含一个数字 $T(1 \\leq T \\leq 100)$,表示测试用例的数量。\u003cbr\u003e\u003cbr\u003e每个测试用例包含两行。第一行包含一个整数 $n(1 \\leq n \\leq 100)$,表示排列的长度。第二行包含 $n$ 个整数 $a_1, a_2, \\cdots, a_n(-1 \\leq a_i \\leq n, a_i \\not\u003d 0)$,表示数组 $a$。 $a_i\u003d-1$ 表示该位置的值无法辨认。\u003cbr\u003e"}},{"title":"输出","value":{"format":"HTML","content":"$T$ 行,每行一个整数,表示模 $10^9 + 7$ 后的答案。"}},{"title":"样例","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e5\r\n6\r\n1 1 2 3 4 2\r\n3\r\n1 2 3\r\n3\r\n-1 -1 -1\r\n3\r\n1 1 1\r\n3\r\n3 3 3\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e5\r\n1\r\n6\r\n1\r\n0\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}