#!/usr/bin/env runghc
module Day11.Part1 where
import Day11
import Data.List (find)
import Data.Array (elems)
main = interact (show . solve . parse)
-- unlines $ map (render . snd) $ takeWhile (not . isUnchanged) ticks
solve start = length $ filter (== Occupied) $ elems stasis
where
simulation = iterate tick start
ticks = zip simulation (tail simulation)
isUnchanged = uncurry (==)
(Just (stasis, _)) = find isUnchanged ticks