from bisect import bisect_left from collections import defaultdict N,S=map(int,input().split()) X=list(map(int,input().split())) W=list(map(int,input().split())) dp=[defaultdict(lambda:1<<30) for _ in range(2)] w=sum(W) xi=bisect_left(X,S) l=xi-1 r=xi if l>=0:dp[1][(l-1,r,X[l],w-W[l])]=w*abs(S-X[l]) if r=0 and p>X[l]: nxt=(l-1,r,X[l],w-W[l]) dp[i][nxt]=min(dp[i][nxt],v+w*abs(p-X[l])) if w-W[l]>0:done=0 if r0:done=0 dp[1-i]=defaultdict(lambda:1<<30) i=1-i print(min(dp[1-i].values()))