Base 5 (3M+2F) => PASS Base 5 + 1 sub => PASS Invalid base 4M+1F => FAIL: base composition invalid (requires 3M+2F or 2M+3F) Two substitutes => FAIL: total > 6 Sub before base 5 => FAIL: substitute before base 5 Base > 5 => FAIL: base > 5 Total > 6 => FAIL: total > 6