#include <iostream>
#include <algorithm>
using namespace std;
int main(int argc, char** argv) {
	long long int n , m;
	cin>>n>>m;
	long long int niz[n] , matrica[n][m];
	for(int i = 0 ; i < n ; i++)
	cin>>niz[i];
	//Poenta je napraviti sto vise kolona sa n obojenih polja
	long long int slucaj1 = 0 , slucaj2 = 0 , pom1 = 0 , pom2 = 0;
	//Razmatramo slucaj 1
	for(int i = 0 ; i < n; i++){
		for(int j = 0 ; j < m ; j++){
			if(j < niz[i]){
			matrica[i][j] = 1;}
			else{
			matrica[i][j] = 0;}
		}
	}
	for(int i = 0 ; i < m; i++){
		for(int j = 0 ; j < n ; j++){
			pom1 += matrica[j][i];
		}
		slucaj1 += pom1 * (n - pom1);
		pom1 = 0;
	}
	//Razmatranje slucaja 2
	for(int i = 0 ; i < n; i++){
		for(int j = 0; j < m  ; j++){
			if(j < n-niz[i] || niz[i] == n){
			matrica[i][j] = 0;}
			else{
			matrica[i][j] = 1;}
		}
		
	}
	for(int i = 0 ; i < m; i++){
		for(int j = 0 ; j < n ; j++){
			pom2 += matrica[j][i];
		}
		slucaj2 += pom2 * (n - pom2);
		
		pom2 = 0;
	}
	cout<<min(slucaj1 , slucaj2);
	return 0;
}