#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

ll n,m;
vector<ll> a,b;

const ll INF=numeric_limits<ll>::max();

void siftuj(){
    int pr=a[0];
    for(int i=0;i<n-1;i++)a[i]=a[i+1];
    a[n-1]=pr;
}

void pomeri (){
    for(int i=0;i<n;i++)a[i]=(a[i]+1ll)%m;
}

ll izracunaj(){
    ll sum=0ll;
    for(int i=0;i<n;i++)sum+=min(m-abs(a[i]-b[i]),abs(a[i]-b[i]));
    return sum;
}

long long Konflikt(int N,int M,int *A,int *B){
    n=N;
    m=M;
    a.resize(n);
    b.resize(n);
    for(int i=0;i<n;i++){
        a[i]=(ll)A[i+1];
        b[i]=(ll)B[i+1];
    }
    sort(a.begin(),a.end());
    sort(b.begin(),b.end());

    ll ans=INF;
    for(int i=0;i<M;i++){
        for(int j=0;j<N;j++){
            ans=min(ans,izracunaj());
            siftuj();
        }
        pomeri();
    }

    return ans;
}