rs: day 24

super sloooooooowwwwwww ugh
solve day 23 by hand
rs: (day 21) use nested array for cache rather than hashmap
py: day 20 (part two only)
rs: day 21 precompute number of rolls of a given value among 3d3
rs: day 20 clippy
rs: (day 20) more correct bounds
rs: day 19 remove drain_filter
rs: day 19 nit
rs: (day 14) don't use unstable features
rs: (day 18) Explode and Split in place
rs: day 18

perf sucks, maybe we'll have time to fix it.
rs: (day 17) bound y velocities too
rs: better x velocity range constraints
rs: (day 17) better input parsing