import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

/**
 * Lesson5B　以下のような、たてH cm よこ W cm のチェック柄の長方形を描くプログラムを作成して下さい。
#.#.#.#.#.
.#.#.#.#.#
#.#.#.#.#.
.#.#.#.#.#
#.#.#.#.#.
.#.#.#.#.#


 * @author 前島佑介
 * @version 2014/12/1
 */
class Main {

	/**
	 * プログラムのエントリポイント
	 * @param args
	 */
	public static void main(String[] args) {

		try{

			BufferedReader insBR = new BufferedReader(new InputStreamReader(System.in));

			String strLine = "";

			ArrayList<String> strArray = new ArrayList<String>();

			//入力値をListに全部受け取る
			while(true) {

				strLine = insBR.readLine();

				//終了条件
				if(strLine.equals("0 0")) {

					break;
				}

				strArray.add(strLine);
			}

			//1列づつ処理
			for(int i = 0; i < strArray.size(); i++) {

				//分けた文字列はstrLineAry[0]とstrLineAry[1]に分けられる
				String[] strLineAry = strArray.get(i).split(" ");

				//左の値
				int intNum1 = Integer.parseInt(strLineAry[0]);

				//右の値
				int intNum2 = Integer.parseInt(strLineAry[1]);

				SharpPaint(intNum1, intNum2);
			}

		}catch(IOException e) {

			System.out.println(e);
		}catch(NumberFormatException e) {

			System.out.println("数値で入力して下さい");
		}
	}
	/**
	 * たてintNum1の分よこintNum２の分の長方形を描くプログラム
	 * 1 cm × 1cm の長方形を '#'と'.'で表す
	 * @param intNum1
	 * @param intNum2
	 */
	public static void SharpPaint(int intNum1, int intNum2) {

		//'＃'か'.' trueが'#'
		boolean booSharp = true;

		//たての分　ループ
		for(int i = 0; i < intNum1; i++) {

			//偶数の行は'#'から始める
			if(i % 2 == 0) {

				booSharp = true;

			} else {

				booSharp = false;

			}

			//よこの分　ループ
			for(int j = 0; j < intNum2; j++) {

				//'#'と'.'を交互に表示
				if(booSharp) {

					System.out.print("#");

					booSharp = false;

				} else {

					System.out.print(".");

					booSharp = true;

				}



			}
			//改行
			System.out.println("");
		}

		//改行
		System.out.println("");

	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.ArrayList; ArrayList java.util class Main {

	/**
	 * プログラムのエントリポイント
	 * @param args
	 */
	public static void main(String[] args) {

		try{

			BufferedReader insBR = new BufferedReader(new InputStreamReader(System.in));

			String strLine = "";

			ArrayList<String> strArray = new ArrayList<String>();

			//入力値をListに全部受け取る
			while(true) {

				strLine = insBR.readLine();

				//終了条件
				if(strLine.equals("0 0")) {

					break;
				}

				strArray.add(strLine);
			}

			//1列づつ処理
			for(int i = 0; i < strArray.size(); i++) {

				//分けた文字列はstrLineAry[0]とstrLineAry[1]に分けられる
				String[] strLineAry = strArray.get(i).split(" ");

				//左の値
				int intNum1 = Integer.parseInt(strLineAry[0]);

				//右の値
				int intNum2 = Integer.parseInt(strLineAry[1]);

				SharpPaint(intNum1, intNum2);
			}

		}catch(IOException e) {

			System.out.println(e);
		}catch(NumberFormatException e) {

			System.out.println("数値で入力して下さい");
		}
	}
	/**
	 * たてintNum1の分よこintNum２の分の長方形を描くプログラム
	 * 1 cm × 1cm の長方形を '#'と'.'で表す
	 * @param intNum1
	 * @param intNum2
	 */
	public static void SharpPaint(int intNum1, int intNum2) {

		//'＃'か'.' trueが'#'
		boolean booSharp = true;

		//たての分　ループ
		for(int i = 0; i < intNum1; i++) {

			//偶数の行は'#'から始める
			if(i % 2 == 0) {

				booSharp = true;

			} else {

				booSharp = false;

			}

			//よこの分　ループ
			for(int j = 0; j < intNum2; j++) {

				//'#'と'.'を交互に表示
				if(booSharp) {

					System.out.print("#");

					booSharp = false;

				} else {

					System.out.print(".");

					booSharp = true;

				}



			}
			//改行
			System.out.println("");
		}

		//改行
		System.out.println("");

	}
} Main /**
	 * プログラムのエントリポイント
	 * @param args
	 */
	public static void main(String[] args) {

		try{

			BufferedReader insBR = new BufferedReader(new InputStreamReader(System.in));

			String strLine = "";

			ArrayList<String> strArray = new ArrayList<String>();

			//入力値をListに全部受け取る
			while(true) {

				strLine = insBR.readLine();

				//終了条件
				if(strLine.equals("0 0")) {

					break;
				}

				strArray.add(strLine);
			}

			//1列づつ処理
			for(int i = 0; i < strArray.size(); i++) {

				//分けた文字列はstrLineAry[0]とstrLineAry[1]に分けられる
				String[] strLineAry = strArray.get(i).split(" ");

				//左の値
				int intNum1 = Integer.parseInt(strLineAry[0]);

				//右の値
				int intNum2 = Integer.parseInt(strLineAry[1]);

				SharpPaint(intNum1, intNum2);
			}

		}catch(IOException e) {

			System.out.println(e);
		}catch(NumberFormatException e) {

			System.out.println("数値で入力して下さい");
		}
	} main {

		try{

			BufferedReader insBR = new BufferedReader(new InputStreamReader(System.in));

			String strLine = "";

			ArrayList<String> strArray = new ArrayList<String>();

			//入力値をListに全部受け取る
			while(true) {

				strLine = insBR.readLine();

				//終了条件
				if(strLine.equals("0 0")) {

					break;
				}

				strArray.add(strLine);
			}

			//1列づつ処理
			for(int i = 0; i < strArray.size(); i++) {

				//分けた文字列はstrLineAry[0]とstrLineAry[1]に分けられる
				String[] strLineAry = strArray.get(i).split(" ");

				//左の値
				int intNum1 = Integer.parseInt(strLineAry[0]);

				//右の値
				int intNum2 = Integer.parseInt(strLineAry[1]);

				SharpPaint(intNum1, intNum2);
			}

		}catch(IOException e) {

			System.out.println(e);
		}catch(NumberFormatException e) {

			System.out.println("数値で入力して下さい");
		}
	} try{

			BufferedReader insBR = new BufferedReader(new InputStreamReader(System.in));

			String strLine = "";

			ArrayList<String> strArray = new ArrayList<String>();

			//入力値をListに全部受け取る
			while(true) {

				strLine = insBR.readLine();

				//終了条件
				if(strLine.equals("0 0")) {

					break;
				}

				strArray.add(strLine);
			}

			//1列づつ処理
			for(int i = 0; i < strArray.size(); i++) {

				//分けた文字列はstrLineAry[0]とstrLineAry[1]に分けられる
				String[] strLineAry = strArray.get(i).split(" ");

				//左の値
				int intNum1 = Integer.parseInt(strLineAry[0]);

				//右の値
				int intNum2 = Integer.parseInt(strLineAry[1]);

				SharpPaint(intNum1, intNum2);
			}

		}catch(IOException e) {

			System.out.println(e);
		}catch(NumberFormatException e) {

			System.out.println("数値で入力して下さい");
		} catch(IOException e) {

			System.out.println(e);
		} IOException e {

			System.out.println(e);
		} System.out.println(e) System.out.println System.out System System.out e catch(NumberFormatException e) {

			System.out.println("数値で入力して下さい");
		} NumberFormatException e {

			System.out.println("数値で入力して下さい");
		} System.out.println("数値で入力して下さい") System.out.println System.out System System.out "数値で入力して下さい" {

			BufferedReader insBR = new BufferedReader(new InputStreamReader(System.in));

			String strLine = "";

			ArrayList<String> strArray = new ArrayList<String>();

			//入力値をListに全部受け取る
			while(true) {

				strLine = insBR.readLine();

				//終了条件
				if(strLine.equals("0 0")) {

					break;
				}

				strArray.add(strLine);
			}

			//1列づつ処理
			for(int i = 0; i < strArray.size(); i++) {

				//分けた文字列はstrLineAry[0]とstrLineAry[1]に分けられる
				String[] strLineAry = strArray.get(i).split(" ");

				//左の値
				int intNum1 = Integer.parseInt(strLineAry[0]);

				//右の値
				int intNum2 = Integer.parseInt(strLineAry[1]);

				SharpPaint(intNum1, intNum2);
			}

		} BufferedReader insBR = new BufferedReader(new InputStreamReader(System.in)); insBR new BufferedReader(new InputStreamReader(System.in)) String strLine = ""; strLine "" ArrayList<String> strArray = new ArrayList<String>(); strArray new ArrayList<String>() while(true) {

				strLine = insBR.readLine();

				//終了条件
				if(strLine.equals("0 0")) {

					break;
				}

				strArray.add(strLine);
			} true {

				strLine = insBR.readLine();

				//終了条件
				if(strLine.equals("0 0")) {

					break;
				}

				strArray.add(strLine);
			} strLine = insBR.readLine() strLine insBR.readLine() insBR.readLine insBR if(strLine.equals("0 0")) {

					break;
				} strLine.equals("0 0") strLine.equals strLine "0 0" {

					break;
				} break; strArray.add(strLine) strArray.add strArray strLine for(int i = 0; i < strArray.size(); i++) {

				//分けた文字列はstrLineAry[0]とstrLineAry[1]に分けられる
				String[] strLineAry = strArray.get(i).split(" ");

				//左の値
				int intNum1 = Integer.parseInt(strLineAry[0]);

				//右の値
				int intNum2 = Integer.parseInt(strLineAry[1]);

				SharpPaint(intNum1, intNum2);
			} int i = 0; int i = 0; i 0 i < strArray.size() i strArray.size() strArray.size strArray i++ i++ i {

				//分けた文字列はstrLineAry[0]とstrLineAry[1]に分けられる
				String[] strLineAry = strArray.get(i).split(" ");

				//左の値
				int intNum1 = Integer.parseInt(strLineAry[0]);

				//右の値
				int intNum2 = Integer.parseInt(strLineAry[1]);

				SharpPaint(intNum1, intNum2);
			} {

				//分けた文字列はstrLineAry[0]とstrLineAry[1]に分けられる
				String[] strLineAry = strArray.get(i).split(" ");

				//左の値
				int intNum1 = Integer.parseInt(strLineAry[0]);

				//右の値
				int intNum2 = Integer.parseInt(strLineAry[1]);

				SharpPaint(intNum1, intNum2);
			} String[] strLineAry = strArray.get(i).split(" "); strLineAry strArray.get(i).split(" ") strArray.get(i).split strArray.get(i) strArray.get strArray i " " int intNum1 = Integer.parseInt(strLineAry[0]); intNum1 Integer.parseInt(strLineAry[0]) Integer.parseInt Integer strLineAry[0] strLineAry 0 int intNum2 = Integer.parseInt(strLineAry[1]); intNum2 Integer.parseInt(strLineAry[1]) Integer.parseInt Integer strLineAry[1] strLineAry 1 SharpPaint(intNum1, intNum2) SharpPaint intNum1 intNum2 String[] args args /**
	 * たてintNum1の分よこintNum２の分の長方形を描くプログラム
	 * 1 cm × 1cm の長方形を '#'と'.'で表す
	 * @param intNum1
	 * @param intNum2
	 */
	public static void SharpPaint(int intNum1, int intNum2) {

		//'＃'か'.' trueが'#'
		boolean booSharp = true;

		//たての分　ループ
		for(int i = 0; i < intNum1; i++) {

			//偶数の行は'#'から始める
			if(i % 2 == 0) {

				booSharp = true;

			} else {

				booSharp = false;

			}

			//よこの分　ループ
			for(int j = 0; j < intNum2; j++) {

				//'#'と'.'を交互に表示
				if(booSharp) {

					System.out.print("#");

					booSharp = false;

				} else {

					System.out.print(".");

					booSharp = true;

				}



			}
			//改行
			System.out.println("");
		}

		//改行
		System.out.println("");

	} SharpPaint {

		//'＃'か'.' trueが'#'
		boolean booSharp = true;

		//たての分　ループ
		for(int i = 0; i < intNum1; i++) {

			//偶数の行は'#'から始める
			if(i % 2 == 0) {

				booSharp = true;

			} else {

				booSharp = false;

			}

			//よこの分　ループ
			for(int j = 0; j < intNum2; j++) {

				//'#'と'.'を交互に表示
				if(booSharp) {

					System.out.print("#");

					booSharp = false;

				} else {

					System.out.print(".");

					booSharp = true;

				}



			}
			//改行
			System.out.println("");
		}

		//改行
		System.out.println("");

	} boolean booSharp = true; booSharp true for(int i = 0; i < intNum1; i++) {

			//偶数の行は'#'から始める
			if(i % 2 == 0) {

				booSharp = true;

			} else {

				booSharp = false;

			}

			//よこの分　ループ
			for(int j = 0; j < intNum2; j++) {

				//'#'と'.'を交互に表示
				if(booSharp) {

					System.out.print("#");

					booSharp = false;

				} else {

					System.out.print(".");

					booSharp = true;

				}



			}
			//改行
			System.out.println("");
		} int i = 0; int i = 0; i 0 i < intNum1 i intNum1 i++ i++ i {

			//偶数の行は'#'から始める
			if(i % 2 == 0) {

				booSharp = true;

			} else {

				booSharp = false;

			}

			//よこの分　ループ
			for(int j = 0; j < intNum2; j++) {

				//'#'と'.'を交互に表示
				if(booSharp) {

					System.out.print("#");

					booSharp = false;

				} else {

					System.out.print(".");

					booSharp = true;

				}



			}
			//改行
			System.out.println("");
		} {

			//偶数の行は'#'から始める
			if(i % 2 == 0) {

				booSharp = true;

			} else {

				booSharp = false;

			}

			//よこの分　ループ
			for(int j = 0; j < intNum2; j++) {

				//'#'と'.'を交互に表示
				if(booSharp) {

					System.out.print("#");

					booSharp = false;

				} else {

					System.out.print(".");

					booSharp = true;

				}



			}
			//改行
			System.out.println("");
		} if(i % 2 == 0) {

				booSharp = true;

			} else {

				booSharp = false;

			} i % 2 == 0 i % 2 i 2 0 {

				booSharp = true;

			} booSharp = true booSharp true {

				booSharp = false;

			} booSharp = false booSharp false for(int j = 0; j < intNum2; j++) {

				//'#'と'.'を交互に表示
				if(booSharp) {

					System.out.print("#");

					booSharp = false;

				} else {

					System.out.print(".");

					booSharp = true;

				}



			} int j = 0; int j = 0; j 0 j < intNum2 j intNum2 j++ j++ j {

				//'#'と'.'を交互に表示
				if(booSharp) {

					System.out.print("#");

					booSharp = false;

				} else {

					System.out.print(".");

					booSharp = true;

				}



			} {

				//'#'と'.'を交互に表示
				if(booSharp) {

					System.out.print("#");

					booSharp = false;

				} else {

					System.out.print(".");

					booSharp = true;

				}



			} if(booSharp) {

					System.out.print("#");

					booSharp = false;

				} else {

					System.out.print(".");

					booSharp = true;

				} booSharp {

					System.out.print("#");

					booSharp = false;

				} System.out.print("#") System.out.print System.out System System.out "#" booSharp = false booSharp false {

					System.out.print(".");

					booSharp = true;

				} System.out.print(".") System.out.print System.out System System.out "." booSharp = true booSharp true System.out.println("") System.out.println System.out System System.out "" System.out.println("") System.out.println System.out System System.out "" int intNum1 intNum1 int intNum2 intNum2
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

/**
 * Lesson5B　以下のような、たてH cm よこ W cm のチェック柄の長方形を描くプログラムを作成して下さい。
#.#.#.#.#.
.#.#.#.#.#
#.#.#.#.#.
.#.#.#.#.#
#.#.#.#.#.
.#.#.#.#.#


 * @author 前島佑介
 * @version 2014/12/1
 */
class Main {

	/**
	 * プログラムのエントリポイント
	 * @param args
	 */
	public static void main(String[] args) {

		try{

			BufferedReader insBR = new BufferedReader(new InputStreamReader(System.in));

			String strLine = "";

			ArrayList<String> strArray = new ArrayList<String>();

			//入力値をListに全部受け取る
			while(true) {

				strLine = insBR.readLine();

				//終了条件
				if(strLine.equals("0 0")) {

					break;
				}

				strArray.add(strLine);
			}

			//1列づつ処理
			for(int i = 0; i < strArray.size(); i++) {

				//分けた文字列はstrLineAry[0]とstrLineAry[1]に分けられる
				String[] strLineAry = strArray.get(i).split(" ");

				//左の値
				int intNum1 = Integer.parseInt(strLineAry[0]);

				//右の値
				int intNum2 = Integer.parseInt(strLineAry[1]);

				SharpPaint(intNum1, intNum2);
			}

		}catch(IOException e) {

			System.out.println(e);
		}catch(NumberFormatException e) {

			System.out.println("数値で入力して下さい");
		}
	}
	/**
	 * たてintNum1の分よこintNum２の分の長方形を描くプログラム
	 * 1 cm × 1cm の長方形を '#'と'.'で表す
	 * @param intNum1
	 * @param intNum2
	 */
	public static void SharpPaint(int intNum1, int intNum2) {

		//'＃'か'.' trueが'#'
		boolean booSharp = true;

		//たての分　ループ
		for(int i = 0; i < intNum1; i++) {

			//偶数の行は'#'から始める
			if(i % 2 == 0) {

				booSharp = true;

			} else {

				booSharp = false;

			}

			//よこの分　ループ
			for(int j = 0; j < intNum2; j++) {

				//'#'と'.'を交互に表示
				if(booSharp) {

					System.out.print("#");

					booSharp = false;

				} else {

					System.out.print(".");

					booSharp = true;

				}



			}
			//改行
			System.out.println("");
		}

		//改行
		System.out.println("");

	}
}