Cleaning Up In the good old days, Farmer Ran served a bland cuisine comprising only a single type of cow food to his N (1 <= N <= 40000) prize dairy cows. Yet times change. Today he serves the herd a total of M (1 <= M <= N) different types of food (conveniently numbered 1..M). The cows are picky. Cow i has a single food preference P_i (1 <= P_i <= M) and will eat only that favorite food. Each day at feeding time FR converts the barn into a tastefully lit cafeteria. The cows line up outside to enter the cafeteria in order of their previously-mentioned convenient index number. Unfortunately, with so many types of food, cleaning up afterwards is very time-consuming. If Farmer Ran is serving K different types of food, it takes him K*K units of time to clean the barn. To save time, FR serves the cows in contiguous groups from the line. After each group, he cleans up the barn and sets out the food for the next group (of course, he only sets out food that cows in the any given group will eat). Determine the minimum amount of total time FR must spend cleaning the barn. Each group consists of the next contiguous group of cows from the line; each cow belongs to exactly one group; and the barn must be cleaned up after every group, including the last one. PROBLEM NAME: cleanup INPUT FORMAT: * Line 1: Two space-separated integers: N and M * Lines 2..N+1: Line i+1 contains a single integer: P_i SAMPLE INPUT: 13 4 1 2 1 3 2 2 3 4 3 4 3 1 4 INPUT DETAILS: There are four types of food and thirteen cows in line. The first cow prefers type 1, the second type 2, the third type 1, etc. OUTPUT FORMAT: * Line 1: A single integer: the minimum amount of time FJ must spend cleaning the barn. SAMPLE OUTPUT: 11 OUTPUT DETAILS: The first four groups contain one cow each. The fifth group contains two cows who prefer food #2 (requiring one unit of time). The sixth group contains cows preferring foods 3, 4, 3, 4, 3 (and requires four units of time to clean). The last two groups contain one cow each. The total time is 11.