USING: aoc.matrices combinators kernel math math.matrices sequences ; IN: 2025.04 : parse ( lines -- m ) [ [ CHAR: @ = ] { } map-as ] map ; : removable-rolls-of-paper ( m -- m' ) [ 1 0 ? ] matrix-map neighbor-sum [ 4 < ] matrix-map ; : part-1 ( m -- n ) dup removable-rolls-of-paper [ and ] matrix-2count ; : remove-rolls-of-paper ( m -- m' ) dup removable-rolls-of-paper [ not and ] matrix-2map ; : part-2 ( m -- n ) dup [ remove-rolls-of-paper ] to-fixed-point [ xor ] matrix-2count ;