main = do
  s <- getContents
  let t =  map aux $ takeWhile (/=[0,0]) $ map (map (read::String->Int) .  words) . lines $ s
  mapM_ putStrLn t

aux :: [Int] ->String  
aux f = concat $ map ((++"\n").take w) $ take h $ v
  --map (take w) $ (take h) $  v
    where
      [h,w]=f
      n = 300
      m = n `div` 2
      s = (concat (replicate m "#."))
      t = (concat (replicate m ".#"))
      u = [s, t]
      v = (concat . replicate m) u