3888: 挂灯笼

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:3 解决:1

题目描述

节日到了,小A也想装扮一下他的新房子。
A有一串灯笼,这些灯笼都有各自的颜色。小A想把灯笼挂起来,但他觉得直接挂太无聊了,所以他决定取下一些灯笼后再挂起来。
因为一些灯笼的颜色相同,所以有可能在取下不同位置的灯笼后,剩下的灯笼的颜色排列却相同。
A想知道一共有多少种不同的情况。
因为情况可能很多,所以对1000000007取模。

输入

第一行,一个数字n,表示有n个灯笼
第二行,有n个数字,ai表示第i个灯笼的颜色

输出

输出情况数

样例输入 复制

4
1 2 3 2

样例输出 复制

13

提示

1<=n<=500000
1<=ai<=500000