#include <bits/stdc++.h>
using namespace std;
long long Konflikt(int N,int M,int *A,int *B)
{
    int n=N;
    vector<int>a(n+1);
    vector<int>b(n+1);
    for(int i=1;i<=n;i++)a[i]=A[i];
    for(int i=1;i<=n;i++)b[i]=B[i];
    sort(a.begin(),a.end());
    sort(b.begin(),b.end());
    int del=a[1];
    for(int i=1;i<=n;i++)a[i]-=del;
    long long minsum=LLONG_MAX;
    for(int r=1;r<=n+1;r++)
    {
        int cnt=0;
        vector<int>niz;
        while(r+cnt<=n)
        {
            niz.push_back(-(a[cnt+1]-b[r+cnt]+M));
            //cout<<a[cnt]+1<<" "<<b[r+cnt]<<endl;
            //cout<<niz.back()<<endl;
            cnt++;
        }
        cnt++;
        for(int i=cnt;i<=n;i++)
        {
            niz.push_back(b[i-cnt+1]-a[i]);
        }
        sort(niz.begin(),niz.end());
        int del=niz[n/2];
        for(int i=0;i<n;i++)
            niz[i]-=del;
        long long trsum=0;
        for(int i=0;i<n;i++)
        {
            trsum+=abs(niz[i]);
        }
        minsum=min(minsum,trsum);
    }
    return minsum;
}