#ATarc077b. [ABC066D] 11

[ABC066D] 11

题目描述

给定一个由 1,,n1, \ldots, nnn 个整数构成,长度为 n+1n+1 的数列 a1,a2,,an+1a_1, a_2, \ldots, a_{n+1}。已知在这个数列中,1,,n1, \ldots, n 的每个整数都至少出现过一次。

对于 k=1,,n+1k=1, \ldots, n+1 的每一个 kk,求出长度为 kk 的(不一定连续的)子序列的不同个数,并输出对 109+710^9+7 取模的结果。

输入格式

输入通过标准输入以如下形式给出:

nn a1a_1 a2a_2 ... an+1a_{n+1}

输出格式

输出共 n+1n+1 行。第 kk 行输出长度为 kk 的子序列的不同个数,对 109+710^9+7 取模后的结果。

样例 1

输入

3
1 2 1 3

输出

3
5
4
1

样例 2

输入

1
1 1

输出

1
1

样例 3

输入

32
29 19 7 10 26 32 27 4 11 20 2 8 16 23 5 14 6 12 17 22 18 30 28 24 15 1 25 3 13 21 19 31 9

输出

32
525
5453
40919
237336
1107568
4272048
13884156
38567100
92561040
193536720
354817320
573166440
818809200
37158313
166803103
166803103
37158313
818809200
573166440
354817320
193536720
92561040
38567100
13884156
4272048
1107568
237336
40920
5456
528
33
1

说明/提示

注意

  • 如果两个子序列作为数列完全相同,即使它们在原数列中的位置不同,也只计为一种。
  • 一个数列 aa 的长度为 kk 的子序列,是指从 aa 的元素中选出 kk 个,保持原有顺序排列而成的新数列。例如,数列 1,2,3,4,51,2,3,4,5 的长度为 33 的子序列有 1,3,51,3,51,2,31,2,3 等,而 3,1,23,1,21,10,1001,10,100 则不是该数列的子序列。

数据范围

  • 1n1051 \leq n \leq 10^5
  • 1ain1 \leq a_i \leq n
  • 数列中每个整数 1,,n1,\ldots,n 一定都会出现。
  • n,ain, a_i 均为整数。

样例解释 1

长度为 11 的子序列有 11223333 种。 长度为 22 的子序列有 1,11,11,21,21,31,32,12,12,32,355 种。 长度为 33 的子序列有 1,1,31,1,31,2,11,2,11,2,31,2,32,1,32,1,344 种。 长度为 44 的子序列只有 1,2,1,31,2,1,3 一种。

样例解释 2

长度为 11 的子序列只有 11 一种。 长度为 22 的子序列只有 1,11,1 一种。

样例解释 3

请注意需要对 109+710^9+7 取模后输出。

由 ChatGPT 5 翻译