import java.util.Scanner;

class Main{
	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		
		int
			n,		//入力件数
			b,		//棟
			f,		//階
			r,		//部屋
			v;		//入居者
			
		int[][][]
			house	= new int[4][3][10];	//記録用配列（4棟3階10部屋分の入居者数(v)を格納）
			
		String
			output;							//出力する文字列
			
		String[]
			input	= new String[4];		//入力(b,f,r,v)を格納する
		
		
		n = Integer.parseInt(sc.nextLine());		//入力件数の入力
		
		for(int i=0;i<n;i++){
			
			//各情報の入力
			input = sc.nextLine().split("[\\s]+");
			b = Integer.parseInt(input[0]);
			f = Integer.parseInt(input[1]);
			r = Integer.parseInt(input[2]);
			v = Integer.parseInt(input[3]);
			
			//入力データを記録用配列に合わせ、入居者を加算
			house[b - 1][f - 1][r - 1] += v;
		}
		
		//表示処理
		for(b = 0;b < 4;b++){
			
			for(f = 0;f < 3;f++){
				
				output = "";
				for(r = 0;r < 10;r++){
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				}
				//出力
				System.out.println(output);
				
			}
			//棟が変わる場合#を20個入れる(最後の行には入れないように)
			if(b < 3){
				System.out.println("####################");
			}
		}
	}
}
 import java.util.Scanner; Scanner java.util class Main{
	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		
		int
			n,		//入力件数
			b,		//棟
			f,		//階
			r,		//部屋
			v;		//入居者
			
		int[][][]
			house	= new int[4][3][10];	//記録用配列（4棟3階10部屋分の入居者数(v)を格納）
			
		String
			output;							//出力する文字列
			
		String[]
			input	= new String[4];		//入力(b,f,r,v)を格納する
		
		
		n = Integer.parseInt(sc.nextLine());		//入力件数の入力
		
		for(int i=0;i<n;i++){
			
			//各情報の入力
			input = sc.nextLine().split("[\\s]+");
			b = Integer.parseInt(input[0]);
			f = Integer.parseInt(input[1]);
			r = Integer.parseInt(input[2]);
			v = Integer.parseInt(input[3]);
			
			//入力データを記録用配列に合わせ、入居者を加算
			house[b - 1][f - 1][r - 1] += v;
		}
		
		//表示処理
		for(b = 0;b < 4;b++){
			
			for(f = 0;f < 3;f++){
				
				output = "";
				for(r = 0;r < 10;r++){
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				}
				//出力
				System.out.println(output);
				
			}
			//棟が変わる場合#を20個入れる(最後の行には入れないように)
			if(b < 3){
				System.out.println("####################");
			}
		}
	}
} Main public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		
		int
			n,		//入力件数
			b,		//棟
			f,		//階
			r,		//部屋
			v;		//入居者
			
		int[][][]
			house	= new int[4][3][10];	//記録用配列（4棟3階10部屋分の入居者数(v)を格納）
			
		String
			output;							//出力する文字列
			
		String[]
			input	= new String[4];		//入力(b,f,r,v)を格納する
		
		
		n = Integer.parseInt(sc.nextLine());		//入力件数の入力
		
		for(int i=0;i<n;i++){
			
			//各情報の入力
			input = sc.nextLine().split("[\\s]+");
			b = Integer.parseInt(input[0]);
			f = Integer.parseInt(input[1]);
			r = Integer.parseInt(input[2]);
			v = Integer.parseInt(input[3]);
			
			//入力データを記録用配列に合わせ、入居者を加算
			house[b - 1][f - 1][r - 1] += v;
		}
		
		//表示処理
		for(b = 0;b < 4;b++){
			
			for(f = 0;f < 3;f++){
				
				output = "";
				for(r = 0;r < 10;r++){
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				}
				//出力
				System.out.println(output);
				
			}
			//棟が変わる場合#を20個入れる(最後の行には入れないように)
			if(b < 3){
				System.out.println("####################");
			}
		}
	} main {
		Scanner sc = new Scanner(System.in);
		
		int
			n,		//入力件数
			b,		//棟
			f,		//階
			r,		//部屋
			v;		//入居者
			
		int[][][]
			house	= new int[4][3][10];	//記録用配列（4棟3階10部屋分の入居者数(v)を格納）
			
		String
			output;							//出力する文字列
			
		String[]
			input	= new String[4];		//入力(b,f,r,v)を格納する
		
		
		n = Integer.parseInt(sc.nextLine());		//入力件数の入力
		
		for(int i=0;i<n;i++){
			
			//各情報の入力
			input = sc.nextLine().split("[\\s]+");
			b = Integer.parseInt(input[0]);
			f = Integer.parseInt(input[1]);
			r = Integer.parseInt(input[2]);
			v = Integer.parseInt(input[3]);
			
			//入力データを記録用配列に合わせ、入居者を加算
			house[b - 1][f - 1][r - 1] += v;
		}
		
		//表示処理
		for(b = 0;b < 4;b++){
			
			for(f = 0;f < 3;f++){
				
				output = "";
				for(r = 0;r < 10;r++){
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				}
				//出力
				System.out.println(output);
				
			}
			//棟が変わる場合#を20個入れる(最後の行には入れないように)
			if(b < 3){
				System.out.println("####################");
			}
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int
			n n b b f f r r v; v int[][][]
			house	= new int[4][3][10]; house new int[4][3][10] 4 3 10 String
			output; output String[]
			input	= new String[4]; input new String[4] 4 n = Integer.parseInt(sc.nextLine()) n Integer.parseInt(sc.nextLine()) Integer.parseInt Integer sc.nextLine() sc.nextLine sc for(int i=0;i<n;i++){
			
			//各情報の入力
			input = sc.nextLine().split("[\\s]+");
			b = Integer.parseInt(input[0]);
			f = Integer.parseInt(input[1]);
			r = Integer.parseInt(input[2]);
			v = Integer.parseInt(input[3]);
			
			//入力データを記録用配列に合わせ、入居者を加算
			house[b - 1][f - 1][r - 1] += v;
		} int i=0; int i=0; i 0 i<n i n i++ i++ i {
			
			//各情報の入力
			input = sc.nextLine().split("[\\s]+");
			b = Integer.parseInt(input[0]);
			f = Integer.parseInt(input[1]);
			r = Integer.parseInt(input[2]);
			v = Integer.parseInt(input[3]);
			
			//入力データを記録用配列に合わせ、入居者を加算
			house[b - 1][f - 1][r - 1] += v;
		} {
			
			//各情報の入力
			input = sc.nextLine().split("[\\s]+");
			b = Integer.parseInt(input[0]);
			f = Integer.parseInt(input[1]);
			r = Integer.parseInt(input[2]);
			v = Integer.parseInt(input[3]);
			
			//入力データを記録用配列に合わせ、入居者を加算
			house[b - 1][f - 1][r - 1] += v;
		} input = sc.nextLine().split("[\\s]+") input sc.nextLine().split("[\\s]+") sc.nextLine().split sc.nextLine() sc.nextLine sc "[\\s]+" b = Integer.parseInt(input[0]) b Integer.parseInt(input[0]) Integer.parseInt Integer input[0] input 0 f = Integer.parseInt(input[1]) f Integer.parseInt(input[1]) Integer.parseInt Integer input[1] input 1 r = Integer.parseInt(input[2]) r Integer.parseInt(input[2]) Integer.parseInt Integer input[2] input 2 v = Integer.parseInt(input[3]) v Integer.parseInt(input[3]) Integer.parseInt Integer input[3] input 3 house[b - 1][f - 1][r - 1] += v house[b - 1][f - 1][r - 1] house[b - 1][f - 1] house[b - 1] house b - 1 b 1 f - 1 f 1 r - 1 r 1 v for(b = 0;b < 4;b++){
			
			for(f = 0;f < 3;f++){
				
				output = "";
				for(r = 0;r < 10;r++){
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				}
				//出力
				System.out.println(output);
				
			}
			//棟が変わる場合#を20個入れる(最後の行には入れないように)
			if(b < 3){
				System.out.println("####################");
			}
		} b = 0; b = 0 b 0 b < 4 b 4 b++ b++ b {
			
			for(f = 0;f < 3;f++){
				
				output = "";
				for(r = 0;r < 10;r++){
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				}
				//出力
				System.out.println(output);
				
			}
			//棟が変わる場合#を20個入れる(最後の行には入れないように)
			if(b < 3){
				System.out.println("####################");
			}
		} {
			
			for(f = 0;f < 3;f++){
				
				output = "";
				for(r = 0;r < 10;r++){
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				}
				//出力
				System.out.println(output);
				
			}
			//棟が変わる場合#を20個入れる(最後の行には入れないように)
			if(b < 3){
				System.out.println("####################");
			}
		} for(f = 0;f < 3;f++){
				
				output = "";
				for(r = 0;r < 10;r++){
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				}
				//出力
				System.out.println(output);
				
			} f = 0; f = 0 f 0 f < 3 f 3 f++ f++ f {
				
				output = "";
				for(r = 0;r < 10;r++){
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				}
				//出力
				System.out.println(output);
				
			} {
				
				output = "";
				for(r = 0;r < 10;r++){
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				}
				//出力
				System.out.println(output);
				
			} output = "" output "" for(r = 0;r < 10;r++){
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				} r = 0; r = 0 r 0 r < 10 r 10 r++ r++ r {
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				} {
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				} output += " " + house[b][f][r] output " " + house[b][f][r] " " house[b][f][r] house[b][f] house[b] house b f r System.out.println(output) System.out.println System.out System System.out output if(b < 3){
				System.out.println("####################");
			} b < 3 b 3 {
				System.out.println("####################");
			} System.out.println("####################") System.out.println System.out System System.out "####################" String args[] args
import java.util.Scanner;

class Main{
	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		
		int
			n,		//入力件数
			b,		//棟
			f,		//階
			r,		//部屋
			v;		//入居者
			
		int[][][]
			house	= new int[4][3][10];	//記録用配列（4棟3階10部屋分の入居者数(v)を格納）
			
		String
			output;							//出力する文字列
			
		String[]
			input	= new String[4];		//入力(b,f,r,v)を格納する
		
		
		n = Integer.parseInt(sc.nextLine());		//入力件数の入力
		
		for(int i=0;i<n;i++){
			
			//各情報の入力
			input = sc.nextLine().split("[\\s]+");
			b = Integer.parseInt(input[0]);
			f = Integer.parseInt(input[1]);
			r = Integer.parseInt(input[2]);
			v = Integer.parseInt(input[3]);
			
			//入力データを記録用配列に合わせ、入居者を加算
			house[b - 1][f - 1][r - 1] += v;
		}
		
		//表示処理
		for(b = 0;b < 4;b++){
			
			for(f = 0;f < 3;f++){
				
				output = "";
				for(r = 0;r < 10;r++){
					
					//数字の前にスペースを入れる
					output += " " + house[b][f][r];
				}
				//出力
				System.out.println(output);
				
			}
			//棟が変わる場合#を20個入れる(最後の行には入れないように)
			if(b < 3){
				System.out.println("####################");
			}
		}
	}
}

