main :: IO ()
main = do
    gen1 <- getStdGen
    gen2 <- getStdGen

    let list1 = map (`mod` length part1) (randoms gen1 :: [Int])
    let list2 = map (`mod` length part2) (drop count $ randoms gen2 :: [Int])

    let q = zip (take count list1) (take count list2)
    let r = map (uncurry nameFromIds) q
    mapM_ putStrLn $ (nub . sort) r
main :: IO ()
main = do
    gen1 <- getStdGen
    gen2 <- getStdGen

    let list1 = map (`mod` length part1) (randoms gen1 :: [Int])
    let list2 = map (`mod` length part2) (drop count $ randoms gen2 :: [Int])

    let q = zip (take count list1) (take count list2)
    let r = map (uncurry nameFromIds) q
    mapM_ putStrLn $ (nub . sort) r
main = do
    gen1 <- getStdGen
    gen2 <- getStdGen

    let list1 = map (`mod` length part1) (randoms gen1 :: [Int])
    let list2 = map (`mod` length part2) (drop count $ randoms gen2 :: [Int])

    let q = zip (take count list1) (take count list2)
    let r = map (uncurry nameFromIds) q
    mapM_ putStrLn $ (nub . sort) r