positiveNum :: (Read a, Ord a, Num a) => ReadM a
positiveNum = do
    a <- auto
    guard (a >= 0)
    return a
positiveNum :: (Read a, Ord a, Num a) => ReadM a
positiveNum = do
    a <- auto
    guard (a >= 0)
    return a
positiveNum = do
    a <- auto
    guard (a >= 0)
    return a