#!/usr/bin/env python3 W=[(0,0,1,2,2,1),(0,1,0,2,1,2),(1,0,2,0,2,1),(2,2,1,0,0,1)] U=set() for w in W: n=len(w) for mask in range(1,2**n): U.add(tuple(w[i] for i in range(n) if (mask//(2**i))%2)) P=sorted(U,key=lambda x:(len(x),x)) n=len(P) def sub(a,b): j=0 for x in a: while jt[i+1]) print('A B C D E F G R S T',n,len(Cov),315,459,E,F,G,R,Sv,T) print('best',P[u],P[v],mu[u][v],t) print('Mlen',len(M),'Covlen',len(Cov))