#include <bits/stdc++.h>

using namespace std;

long long resi(int N,int M,int *A,int *B,int& X){
    vector<int>perm(N);
    for(int i=0;i<N;i++)perm[i]=i+1;
    long long mindist=LLONG_MAX;
    while(next_permutation(perm.begin(),perm.end())){
        long long dist=0;
        for(int i=1;i<=N;i++)
            dist+=min(abs(A[i]-B[perm[i-1]]),M-abs(A[i]-B[perm[i-1]]));
        mindist=min(mindist,dist);
    }
    return mindist;
}

long long Konflikt(int N,int M,int *A,int *B){
    if(M>20)return 0;
    long long res=LLONG_MAX;
    for(int i=0;i<M;i++){
        for(int i=1;i<=N;i++)A[i]=(A[i]+1)%M;
        res=min(res,resi(N,M,A,B,i));
    }
    return res;
}