#!/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 j