Problem:
Print a Rectangle

Draw a rectangle which has a height of H cm and a width of W cm. Draw a 1-cm square by single '#'.

Input

The input consists of multiple datasets. Each dataset consists of two integers H and W separated by a single space.

The input ends with two 0 (when both H and W are zero).

Output

For each dataset, print the rectangle made of H × W '#'.

Print a blank line after each dataset.

Constraints

1 ≤ H ≤ 300

1 ≤ W ≤ 300

Sample Input

3 4
5 6
2 2
0 0

Sample Output

####
####
####

######
######
######
######
######

##
##

Solution in Haskell (judge verdict: Accepted)

import Control.Monad

printLineN :: Int -> Char -> IO ()
printLineN n c = do
  replicateM n $ putChar c
  putChar '\n'

printRectangle :: Int -> Int -> IO ()
printRectangle h w = do
  replicateM h $ printLineN w '#'
  return ()

main :: IO ()
main = do
  input <- getLine
  let [h, w] = map read $ words input
  if h == 0 && w == 0
    then do return ()
    else do
    printRectangle h w
    putChar '\n'
    main