#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+5,M=20;
int h[N][M],siz[M],num[N];
int a[N],dp[1<<M];
int n,m;
int lowbit(int x){
return x&-x;
}
signed main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
a[i]--;
}
for(int i=1;i<=n;i++){
for(int j=0;j<m;j++){
h[i][j]=h[i-1][j];
if(a[i]==j){
siz[a[i]]++;
}
else{
h[i][j]++;
}
}
}
for(int i=0;i<m;i++){
num[1<<i]=siz[i];
}
for(int i=0;i<(1<<m);i++){
num[i]=num[i^lowbit(i)]+num[lowbit(i)];
}
memset(dp,0x3f,sizeof(dp));
dp[0]=0;
for(int i=0;i<(1<<m);i++){
for(int j=0;j<m;j++){
if(i&(1<<j)){
dp[i]=min(dp[i],dp[i^(1<<j)]+h[num[i]][j]-h[num[i^(1<<j)]][j]);
}
}
}
cout<<dp[(1<<m)-1];
}