import           Control.Applicative
import           Control.Monad

fromSharp :: String
fromSharp = concat $ repeat "#."

sharp :: Int -> String
sharp n = take n fromSharp

dot :: Int -> String
dot n = take n $ tail fromSharp

check :: Int -> Int -> String
check h w = unlines . fmap ($ w) $ take h fs
  where
    fs = concat $ repeat [sharp, dot]

main :: IO ()
main = do
    xss <- fmap (fmap read . words) . lines <$> getContents :: IO [[Int]]
    forM_ (takeWhile (/= [0, 0]) xss) $ \[h, w] -> do
        putStrLn $ check h w

