; 市松模様は
; a11 a12 ... a1w
; a21 a22 ... a2w
; ... ... aij ...
; ah1 ah2 ... ahw
; という座標のとき (i + j) の偶奇によって W か B が決まる
(defun main ()
  (let* ((w (read))
         (h (read))
         ; read-char &optional input-stream eof-error-p eof-value recursive-p ⇒ char
         ; 入力ストリームから1文字読み込む
         (c (read-char))
         ; char= 文字を比較する 同じであれば t
         (d (if (char= c #\B) #\W #\B)))
    (dotimes (i h)
      (dotimes (j w)
        ; write-char 出力ストリームへ1文字出力
        (write-char
              ; evenp 偶数かどうか判定する
          (if (evenp (+ i j)) c d)))
      (terpri))))
(main)