#!/usr/bin/env python3
from itertools import permutations
filters={"brand":4,"color":6,"size":8,"material":5,"availability":3}
states=1
for n in filters.values():
    states*=n+1
states-=1
params={"brand":"a","color":"black","size":"m","material":"cotton","availability":"in-stock"}
urls={"/category/?"+"&".join(f"{k}={params[k]}" for k in p) for p in permutations(params)}
assert states==7559
assert len(urls)==120
print("states_single_or_omitted =",states)
print("same_state_parameter_orders =",len(urls))
print("Illustrative only; actual sites depend on routing and multi-select rules.")
