n,m = map(int,input().split()) a = list(map(int,input().split())) b = list(map(int,input().split())) u = [0]*(n+1); d = [0]*(n+1) for i,(x,y) in enumerate(zip(a,b),1): u[i] = (y-x)%m; d[i] = (x-y)%m dpv = [m]+[0]*n; dpu = [0]*(n+1); dpd = [0]*(n+1); dpe = [m]+[0]*n for i in range(n): dpv[i+1] = min(dpv[i]+max(u[i+1]-u[i],0),dpu[i]+u[i+1]+m-u[i]) dpu[i+1] = min(dpu[i]+max(u[i+1]-u[i],0),dpd[i]+u[i+1],dpv[i]) dpd[i+1] = min(dpd[i]+max(d[i+1]-d[i],0),dpu[i]+d[i+1],dpe[i]) dpe[i+1] = min(dpe[i]+max(d[i+1]-d[i],0),dpd[i]+d[i+1]+m-d[i]) print(min(dpv[n],dpu[n],dpd[n],dpe[n]))