output_description: Print n+1 lines. The k-th line should contain the number of the different
  subsequences of the given sequence with length k, modulo 10^9+7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      n
      a_1 a_2 ... a_{n+1}
attempt: import sys
  
  read = sys.stdin.buffer.read
  readline = sys.stdin.buffer.readline
  readlines = sys.stdin.buffer.readlines
  
  from collections import Counter
  
  import numpy as np
  
  MOD = 10**9 + 7
  
  N = int(readline())
  A = np.array(read().split(), np.int32)
  
  counter = np.bincount(A)
  x = np.argmax(counter)
  I, J = np.where(A == x)[0]
  
  L = I
  M = J - I - 1
  R = N - J
  
  # 長さ k での重複は、(L+R)C(k-1)
  
  
  def cumprod(A, MOD=MOD):
      L = len(A)
      Lsq = int(L**0.5 + 1)
      A = np.resize(A, Lsq**2).reshape(Lsq, Lsq)
      for n in range(1, Lsq):
          A[:, n] *= A[:, n - 1]
          A[:, n] %= MOD
      for n in range(1, Lsq):
          A[n] *= A[n - 1, -1]
          A[n] %= MOD
      return A.ravel()[:L]
  
  
  def make_fact(U, MOD=MOD):
      x = np.arange(U, dtype=np.int64)
      x[0] = 1
      fact = cumprod(x, MOD)
      x = np.arange(U, 0, -1, dtype=np.int64)
      x[0] = pow(int(fact[-1]), MOD - 2, MOD)
      fact_inv = cumprod(x, MOD)[::-1]
      return fact, fact_inv
  
  
  fact, fact_inv = make_fact(10**5 + 100)
  
  answer = fact[N + 1] * fact_inv[: N + 2] % MOD * fact_inv[: N + 2][::-1] % MOD
  LR = L + R
  x = fact[LR] * fact_inv[: LR + 1] % MOD * fact_inv[: LR + 1][::-1] % MOD
  answer[1 : LR + 2] -= x
  
  answer = answer[1:]
  answer %= MOD
  print("\n".join(answer.astype(str)))
  
problem_description: Statement
  
  You are given an integer sequence of length n+1, a_1,a_2,...,a_{n+1}, which
  consists of the n integers 1,...,n. It is known that each of the n integers
  1,...,n appears at least once in this sequence.
  
  For each integer k=1,...,n+1, find the number of the different subsequences
  (not necessarily contiguous) of the given sequence with length k, modulo
  10^9+7.
samples: [{"input": "3\n    1 2 1 3", "output": "3\n    5\n    4\n    1\n    \n\nThere are three subsequences with length 1: 1 and 2 and 3.\n\nThere are five subsequences with length 2: 1,1 and 1,2 and 1,3 and 2,1 and\n2,3.\n\nThere are four subsequences with length 3: 1,1,3 and 1,2,1 and 1,2,3 and\n2,1,3.\n\nThere is one subsequence with length 4: 1,2,1,3.\n\n* * *"}, {"input": "1\n    1 1", "output": "1\n    1\n    \n\nThere is one subsequence with length 1: 1.\n\nThere is one subsequence with length 2: 1,1.\n\n* * *"}, {"input": "32\n    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", "output": "32\n    525\n    5453\n    40919\n    237336\n    1107568\n    4272048\n    13884156\n    38567100\n    92561040\n    193536720\n    354817320\n    573166440\n    818809200\n    37158313\n    166803103\n    166803103\n    37158313\n    818809200\n    573166440\n    354817320\n    193536720\n    92561040\n    38567100\n    13884156\n    4272048\n    1107568\n    237336\n    40920\n    5456\n    528\n    33\n    1\n    \n\nBe sure to print the numbers modulo 10^9+7."}]