#include <bits/stdc++.h>
using namespace std;
long long Konflikt(int N,int M,int *A,int *B){
    long long n=N;
    long long pola=M/2;
    long long pamti=N*M,br=0,zbir=0;
    if(M%2==1){
        pola++;
    }
    vector<long long>mars(n),nis(n);
    for(int i=0;i<N;i++){
        mars[i]=A[i+1];
        nis[i]=B[i+1];
    }
    sort(mars.begin(),mars.end());
    sort(nis.begin(),nis.end());
    for(int i=0;i<n;i++){
        zbir=0;
        br=0;
        //cout<<i<<endl<<endl;
        priority_queue<long long> opadaju,rastu;
        for(int j=0;j<n;j++){
            long long rastojanje=nis[(j+i)%n]-mars[j];
            //cout<<j<<" "<<nis[(j+i)%n]<<" "<<mars[j]<<endl;
            if(rastojanje<0){
                rastojanje+=M;
            }
            if(rastojanje>=pola || rastojanje==0){
                rastu.push((M-rastojanje)%M);
                zbir=zbir+(M-rastojanje)%M;
                //cout<<(M-rastojanje)%M<<"rastu"<<endl;
            }else{
                opadaju.push(-rastojanje);
                zbir+=rastojanje;
                //cout<<rastojanje;
                //cout<<"opadaju"<<endl;
            }
        }
        //cout<<zbir<<endl;
        //cout<<opadaju.size()<<endl;
        //cout<<67<<endl;
        long long brojac=0,dodaj;
        while(brojac<2*n){
            if(!opadaju.empty() && !rastu.empty()){
                dodaj=min(-opadaju.top()-br,pola-rastu.top()-br);
            }else if(!opadaju.empty()){
                dodaj=-opadaju.top()-br;
            }else{
                    dodaj=pola-rastu.top()-br;
            }
            br+=dodaj;
            //cout<<brojac<<" "<<dodaj<<endl;
            zbir=zbir+(rastu.size()-opadaju.size())*dodaj;
            pamti=min(pamti,zbir);
            while(!opadaju.empty() && -opadaju.top()-br==0){
                    opadaju.pop();
                    rastu.push(-br);
                    brojac++;
                        //cout<<69<<endl;
            }
            while(!rastu.empty() && rastu.top()+br==pola){
                rastu.pop();
                opadaju.push(-M+pola-br);
                zbir=zbir+M-2*pola;
                brojac++;
                //cout<<-M+pola-br<<endl;
            }
        }
        //cout<<i<<" "<<pamti<<endl;
    }
    return pamti;
}