题目描述
在一个狂风暴雨肆虐的夜晚,农民约翰的牛棚遭遇了一场不小的灾难,牛棚的屋顶和门都被狂风无情地吹飞了。幸运的是,很多牛当时正在外面度假,所以牛棚并没有住满。剩下的牛只好一头挨着一头,紧紧排成一行,在牛棚里过夜。牛棚里的情况参差不齐,有的牛棚里住着牛,有的则空着。而且,所有牛棚的宽度都是一样的。门被吹走后,农民约翰迅速行动起来,在牛棚前面竖起了新的木板。他的新木材供应商非常慷慨,能够提供给他任意长度的木板,可供应商能提供的木板数量是有限的。农民约翰一心想要尽可能减少购买木板的总长度。现在已知几个关键信息:M(1 <= M <= 50),这是他最多能买到的木板数量;S(1 <= S <= 200)代表牛棚的总数;C(1 <= C <= S)是目前牛棚里牛的数量,以及每头牛所在牛棚的编号 stall_number(1 <= stall_number <= S)。现在需要根据这些信息,计算出拦住所有有牛的牛棚所需木板的最小总长度,并将这个最小总长度作为答案输出。
输入格式
第 1 行: M , S 和 C(用空格分开)
第 2 到 C+1 行: 每行包含一个整数,表示牛所占的牛棚的编号.
输出格式
单独的一行包含一个整数表示所需木板的最小总长度
样例数据
input
4 50 18
3
4
6
8
14
15
16
17
21
25
26
27
30
31
40
41
42
43
output
25