python3 <<"PY" from functools import cache V=[[10,5,4],[10,8,6],[10,8],[10,3]] A=[] for t,w in enumerate(V): for v in w: A.append((t,v)) N=10 FULL=(1<>i if q-(q//2)*2: if A[i][0]==j and A[i][1]>z: z=A[i][1] s=s+z return s @cache def g(a,b): k=bin(a|b).count("1") if k==N: return sc(a)-sc(b) alice=k==(k//2)*2 vals=[] for i in range(N): q=(a|b)>>i if q-(q//2)*2==0: if alice: vals.append(g(a|(1<