/** ２たてH cm よこ W cm の長方形を描くプログラムを作成して下さい。
*1 cm × 1cm の長方形を '#'で表します。
*/

/*sucannerクラス使うためにインポート*/
import java.util.Scanner;

class Main {
	// プログラムのエントリポイント
	public static void main(String[] args) {
		// 入力ストリームの生成
		Scanner sc = new Scanner(System.in);
		//処理を繰り返す
		while (true){
			//２つの数字を受け取る
			 int intH = sc.nextInt();
			 int intW = sc.nextInt();
			 //受け取った数字が二つとも０の場合処理を終了する
			if(intH == 0 && intW == 0){
				break;
			}

			//受け取った縦の数字の回数改行する
			for (int i = 0; i < intH ; i++){
				//受けとった横の数字の個数分＃を表示する
				for ( int j = 0; j < intW ; j++){
					System.out.print("#");
				}
				System.out.println("");
			}
			//表示完了後改行する。
			System.out.println("");
		}
	}
} import java.util.Scanner; Scanner java.util class Main {
	// プログラムのエントリポイント
	public static void main(String[] args) {
		// 入力ストリームの生成
		Scanner sc = new Scanner(System.in);
		//処理を繰り返す
		while (true){
			//２つの数字を受け取る
			 int intH = sc.nextInt();
			 int intW = sc.nextInt();
			 //受け取った数字が二つとも０の場合処理を終了する
			if(intH == 0 && intW == 0){
				break;
			}

			//受け取った縦の数字の回数改行する
			for (int i = 0; i < intH ; i++){
				//受けとった横の数字の個数分＃を表示する
				for ( int j = 0; j < intW ; j++){
					System.out.print("#");
				}
				System.out.println("");
			}
			//表示完了後改行する。
			System.out.println("");
		}
	}
} Main // プログラムのエントリポイント
	public static void main(String[] args) {
		// 入力ストリームの生成
		Scanner sc = new Scanner(System.in);
		//処理を繰り返す
		while (true){
			//２つの数字を受け取る
			 int intH = sc.nextInt();
			 int intW = sc.nextInt();
			 //受け取った数字が二つとも０の場合処理を終了する
			if(intH == 0 && intW == 0){
				break;
			}

			//受け取った縦の数字の回数改行する
			for (int i = 0; i < intH ; i++){
				//受けとった横の数字の個数分＃を表示する
				for ( int j = 0; j < intW ; j++){
					System.out.print("#");
				}
				System.out.println("");
			}
			//表示完了後改行する。
			System.out.println("");
		}
	} main {
		// 入力ストリームの生成
		Scanner sc = new Scanner(System.in);
		//処理を繰り返す
		while (true){
			//２つの数字を受け取る
			 int intH = sc.nextInt();
			 int intW = sc.nextInt();
			 //受け取った数字が二つとも０の場合処理を終了する
			if(intH == 0 && intW == 0){
				break;
			}

			//受け取った縦の数字の回数改行する
			for (int i = 0; i < intH ; i++){
				//受けとった横の数字の個数分＃を表示する
				for ( int j = 0; j < intW ; j++){
					System.out.print("#");
				}
				System.out.println("");
			}
			//表示完了後改行する。
			System.out.println("");
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) while (true){
			//２つの数字を受け取る
			 int intH = sc.nextInt();
			 int intW = sc.nextInt();
			 //受け取った数字が二つとも０の場合処理を終了する
			if(intH == 0 && intW == 0){
				break;
			}

			//受け取った縦の数字の回数改行する
			for (int i = 0; i < intH ; i++){
				//受けとった横の数字の個数分＃を表示する
				for ( int j = 0; j < intW ; j++){
					System.out.print("#");
				}
				System.out.println("");
			}
			//表示完了後改行する。
			System.out.println("");
		} true {
			//２つの数字を受け取る
			 int intH = sc.nextInt();
			 int intW = sc.nextInt();
			 //受け取った数字が二つとも０の場合処理を終了する
			if(intH == 0 && intW == 0){
				break;
			}

			//受け取った縦の数字の回数改行する
			for (int i = 0; i < intH ; i++){
				//受けとった横の数字の個数分＃を表示する
				for ( int j = 0; j < intW ; j++){
					System.out.print("#");
				}
				System.out.println("");
			}
			//表示完了後改行する。
			System.out.println("");
		} int intH = sc.nextInt(); intH sc.nextInt() sc.nextInt sc int intW = sc.nextInt(); intW sc.nextInt() sc.nextInt sc if(intH == 0 && intW == 0){
				break;
			} intH == 0 && intW == 0 intH == 0 intH 0 intW == 0 intW 0 {
				break;
			} break; for (int i = 0; i < intH ; i++){
				//受けとった横の数字の個数分＃を表示する
				for ( int j = 0; j < intW ; j++){
					System.out.print("#");
				}
				System.out.println("");
			} int i = 0; int i = 0; i 0 i < intH i intH i++ i++ i {
				//受けとった横の数字の個数分＃を表示する
				for ( int j = 0; j < intW ; j++){
					System.out.print("#");
				}
				System.out.println("");
			} {
				//受けとった横の数字の個数分＃を表示する
				for ( int j = 0; j < intW ; j++){
					System.out.print("#");
				}
				System.out.println("");
			} for ( int j = 0; j < intW ; j++){
					System.out.print("#");
				} int j = 0; int j = 0; j 0 j < intW j intW j++ j++ j {
					System.out.print("#");
				} {
					System.out.print("#");
				} System.out.print("#") System.out.print System.out System System.out "#" System.out.println("") System.out.println System.out System System.out "" System.out.println("") System.out.println System.out System System.out "" String[] args args
/** ２たてH cm よこ W cm の長方形を描くプログラムを作成して下さい。
*1 cm × 1cm の長方形を '#'で表します。
*/

/*sucannerクラス使うためにインポート*/
import java.util.Scanner;

class Main {
	// プログラムのエントリポイント
	public static void main(String[] args) {
		// 入力ストリームの生成
		Scanner sc = new Scanner(System.in);
		//処理を繰り返す
		while (true){
			//２つの数字を受け取る
			 int intH = sc.nextInt();
			 int intW = sc.nextInt();
			 //受け取った数字が二つとも０の場合処理を終了する
			if(intH == 0 && intW == 0){
				break;
			}

			//受け取った縦の数字の回数改行する
			for (int i = 0; i < intH ; i++){
				//受けとった横の数字の個数分＃を表示する
				for ( int j = 0; j < intW ; j++){
					System.out.print("#");
				}
				System.out.println("");
			}
			//表示完了後改行する。
			System.out.println("");
		}
	}
}