-part2 :: [[Int]] -> IO ()
-part2 disks = print $ head $ filter (canFall disks2) [0..5000000]
- where disks2 = id $! map (take 5000000) $ disks ++ [drop 7 $ drop 0 $ cycle [0..(11-1)]]
+part2 :: [Disk] -> IO ()
+part2 disks = print $ head $ filter (canFall disks2) [0..]
+ -- where disks2 = disks ++ [(\i -> (11 + 7 + 0 + i) `mod` 11 == 0)]
+ where disks2 = disks ++ [diskify 7 11 0]