main = do
  (a:b:_) <- getLine >>= return . map read . words :: IO [Int]

  putStrLn "100 100"

  mapM_ putStrLn $ concat [[replicate 100 '.', concat (replicate x ".#") ++ (replicate (100-x*2) '.')] | x <- take 25 (f (b-1))]
  mapM_ putStrLn $ concat [[replicate 100 '#', concat (replicate x "#.") ++ (replicate (100-x*2) '#')] | x <- take 25 (f (a-1))]

  where
    f n = (if n >= 50 then 50 : (f (n-50)) else if n >= 0 then n : (f 0) else 0 : (f 0))
