#include <cstdio>
#include <vector>
using namespace std;

int main() {
	int N,D;
	scanf(" %d %d",&N,&D);
	vector<int> pocty(N,0); // kolko krat som danu bazu videl v mojom podretazci
	vector<int> post(D);
	int i =0,j =0; // lavy, pravy koniec podretazca
	long long odp =0LL;
*	int nemam =N; // kolko baz som este nevidel
	while(j < D) {
		scanf(" %d",&post[j]);
		pocty[post[j]-1]++;
*		if(pocty[post[j]-1] == 1) nemam--; // tot nova baza na vstupe
		j++;
		if(nemam > 0) continue; // este nemam od zaciatku po pravy koniec vsetky bazy
		while(i < j) {
			// posuvaj lavy okraj dalej kym mozes
			pocty[post[i]-1]--;
			i++;
			if(pocty[post[i-1]-1] == 0) {
				i--;
				pocty[post[i]-1]++;
				break;}}
		odp +=(long long)(i+1);}
	printf("%lld\n",odp); // trololo
	return 0;}
