output_description: Print the number of the subsequences such that all characters are different,
  modulo 10^9+7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      S
attempt: n = int(input())
  a = [[] for row in range(200000)]
  b = 0
  e = [int(input()) for i in range(n)]
  d = [0]
  mini_ans = 0
  for i, c in enumerate(e):
      if b != c:
          for j in a[c]:
              mini_ans += d[j] + 1
          a[c].append(i)
      d.append(mini_ans)
      b = c
  print(d[-1] + 1)
  
problem_description: Statement
  
  You are given a string S of length N. Among its subsequences, count the ones
  such that all characters are different, modulo 10^9+7. Two subsequences are
  considered different if their characters come from different positions in the
  string, even if they are the same as strings.
  
  Here, a subsequence of a string is a concatenation of **one or more**
  characters from the string without changing the order.
samples: [{"input": "4\n    abcd", "output": "15\n    \n\nSince all characters in S itself are different, all its subsequences satisfy\nthe condition.\n\n* * *"}, {"input": "3\n    baa", "output": "5\n    \n\nThe answer is five: `b`, two occurrences of `a`, two occurrences of `ba`. Note\nthat we do not count `baa`, since it contains two `a`s.\n\n* * *"}, {"input": "5\n    abcab", "output": "17"}]