import Control.Applicative
import Data.List

main = do hws <- (map read) . (concatMap words) . lines <$> getContents
          putStr . unlines $ map unlines (solve hws)

solve :: [Int] -> [[String]]
solve (h:w:res) | h == 0 && w == 0 = []
                | otherwise = makeBoard h w : solve res

makeBoard :: Int -> Int -> [String]
makeBoard h w | h == 0 = []
              | h `mod` 2 == 1 = (take w . concat $ repeat "#.") : makeBoard (h-1) w
              | h `mod` 2 == 0 = (take w . concat $ repeat ".#") : makeBoard (h-1) w