很久很久以前,约翰只会做一种食品;而现在约翰能给他的N (1 \leq N \leq 40000)头奶牛供应M (1 \leq M \leq N)种不同的食品。但奶牛们非常挑剔,i号奶牛只吃食品P_i (1 \leq P_i \leq M)
每天,奶牛们按一定编号排队进自助餐厅用餐。不幸的是,这么多各类的食品会让清扫工作变得非常不方便。如果约翰在一次用餐中供应了K种食品,他之后就需要K^2的时间进行清扫。
为了减少清扫的时间,约翰决定把排好队的奶牛划分成若干组。每一组包含一段连续的奶牛。每一次,只让一组奶牛进入餐厅。这样,他可以让清扫所需的总用时变得最小。请计算这个最小用时。