let cities = 6let clinics = 10let populations = [1,10000,2,3,400,1]let nparts n k = filter ((==n) . sum) $ replicateM k [1..n]let d2 = nparts clinics citieslet d1 = map maximum (map (\x -> zipWith (/) populations (map (\n-> fromIntegral n) x)) $ d2)maximum $ zipWith (\n x -> (n `div` x) + (n `mod` x) ) populations $ d2 !! (head $ filter ((==minimum d1) . (d1 !!)) [0..])