I=input def J(): return map(int,I().split()) def S(D): return sorted(D.items(),reverse=1) N,K=J() R=range(N*2) b=0 for i in R: for c in I():b+=c=="#" D,E={},{} for i in R: C=list(J()) for c in C: if c in D:D[c]+=1 else:D[c]=1 for i in R: c=C[i]+C[N*2-i-1] if c in E:E[c]+=i0)*len(e): i,j=e.pop(0) a,m[k]=max(0,a-j),m[k]+min(a,j)*i print(max(m[0],(K+m[1])*s))