N,X=map(int,input().split())
A=list(map(int,input().split()))
B=list(map(int,input().split()))

Upper=0
Lower=[]
L=0
F=0
for a,b in zip(A,B):
    if a>=X:
        Upper+=a-X
        F=1
    else:
        Lower.append((a,b))
        L+=abs(a-X)

if F==0:
    print(-1)
    exit()

inf=float("inf")
DP=[inf]*(L+1)
DP[L]=0

for a,b in Lower:
    k=abs(a-X)
    for x in range(L-k+1):
        DP[x]=min(DP[x],DP[x+k]+b)

print(min(DP[:Upper+1]))