#!/usr/bin/env python3 E=[(0,1,8),(0,2,9),(0,3,7),(0,4,11),(1,2,11),(1,3,8),(1,4,12),(2,3,12),(2,4,9),(3,4,5)] C=[8,9,7,11,11,8,12,12,9,5] W=[0,184320,103680,58320,32805] N=1024 R=range(N) P=[] for x in R: A=[0]*5 for k in range(10): if x>>k&1: u,v,c=E[k] A[u]|=1<>v&1 and d[v]>4: d[v]=d[z]+1 q.append(v) p.append(sum(W[t] if t<5 else 0 for t in d)-sum(C[k]*16384 for k in range(10) if x>>k&1 and (E[k][0]==s or E[k][1]==s))) P.append(p) SUB=[] for m in range(N): a=[] s=m while 1: a.append(s) if s==0: break s=(s-1)&m SUB.append(a) bad=0 for S in range(1,32): im=0 cm=0 for k in range(10): a=(S>>E[k][0])&1 b=(S>>E[k][1])&1 if a and b: im|=1<>i)&1] for x in R: fixed=x&out cav=x&cm go=any(all(P[fixed|a|b][i]>=P[x][i] for i in bits) and any(P[fixed|a|b][i]>P[x][i] for i in bits) for a in SUB[im] for b in SUB[cav]) if go: bad|=1<