#include <bits/stdc++.h>

using namespace std;

long long Konflikt(int n, int m, int* A, int *B){
    long long mn=200000000000000;
    vector<int>a(n+1),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());
    if(n>550 or m>550)return 0;

    for(int x=0;x<=0;x++){
        vector<int>p(n+1);

        for(int i=1;i<=n;i++){
            p[i]=(a[i]+x)%m;
        }
        for(int j=0;j<n;j++){
            long long sum=0;
            for(int pos=1;pos<=n;pos++){
                sum+=min(abs(p[pos]-b[(pos+j-1)%n+1]),m-abs(p[pos]-b[(pos-1+j)%n+1]));
            }
            mn=min(mn,sum);
        }
    }
    int l=0, r=m-1;
    while(l<r){
        long long rez=200000000000000;
        int mid=(l+r)/2;
        int x=mid;
        vector<int>p(n+1);

        for(int i=1;i<=n;i++){
            p[i]=(a[i]+x)%m;
        }
        for(int j=0;j<n;j++){
            long long sum=0;
            for(int pos=1;pos<=n;pos++){
                sum+=min(abs(p[pos]-b[(pos+j-1)%n+1]),m-abs(p[pos]-b[(pos-1+j)%n+1]));
            }
            rez=min(rez,sum);
        }
        if(rez<mn){
            mn=rez;
            l=mid+1;
        }
        else{
            r=mid;
        }
    }
    return mn;
}