import Data.List (intercalate)

main = do
    [_H, _W, h, w] <- map read . words <$> getLine :: IO [Int]
    let m = [[if i `mod` h == h - 1 && j `mod` w == w - 1 then -(h * w) else 1 | j <- [0.._W - 1]] | i <- [0.._H - 1]]
    if sum (map sum m) <= 0
        then putStrLn "No"
        else do
            putStrLn "Yes"
            mconcat (map (putStrLn . intercalate " " . map show) m)