while True: try: n = int(raw_input()) colors = map(int, raw_input().split()) dp = [1 for i in xrange(n)] mod = 1000000007 for i in xrange(1,n): dp[i] = dp[i-1] for j in xrange(i-1,-1,-1): if colors[j] not in colors[j+1:i+1]: if j-1 >= 0: dp[i] += dp[j-1]%mod dp[i] %= mod else: dp[i] += 1 else: break print dp[-1] except: break