
import java.util.*;

class Main {
	public static void main(String args[]){
		
		Scanner sc = new Scanner(System.in);
		
		//情報が何件入力されるかnで受け取る
		String s1 = sc.next();
		int n = Integer.parseInt(s1);
		
		//3次元配列で1フロア10部屋3階建ての公舎4棟のそれぞれの入居状況を格納する（初期値は０にする）
		int A[][][] = new int[10][3][4];
		for(int i = 0; i < 4; i++){
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					A[k][j][i] = 0;
				}
			}
		}
		
		//入力された情報を受け取り入居状況を更新する
		for(int i = 0; i < n; i++){
			String s2 = sc.next();
			int b = Integer.parseInt(s2);
			String s3 = sc.next();
			int f = Integer.parseInt(s3);
			String s4 = sc.next();
			int r = Integer.parseInt(s4);
			String s5 = sc.next();
			int v = Integer.parseInt(s5);
			A[r-1][f-1][b-1] += v;
		}
		
		//更新した入居状況を表示する
		for(int i = 0; i < 4; i++){
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					System.out.print(" " + A[k][j][i]);
				}
				System.out.println("");
			}
			if(i != 3){
				System.out.println("####################");
			}
		}
	}
} import java.util.*; util.* java class Main {
	public static void main(String args[]){
		
		Scanner sc = new Scanner(System.in);
		
		//情報が何件入力されるかnで受け取る
		String s1 = sc.next();
		int n = Integer.parseInt(s1);
		
		//3次元配列で1フロア10部屋3階建ての公舎4棟のそれぞれの入居状況を格納する（初期値は０にする）
		int A[][][] = new int[10][3][4];
		for(int i = 0; i < 4; i++){
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					A[k][j][i] = 0;
				}
			}
		}
		
		//入力された情報を受け取り入居状況を更新する
		for(int i = 0; i < n; i++){
			String s2 = sc.next();
			int b = Integer.parseInt(s2);
			String s3 = sc.next();
			int f = Integer.parseInt(s3);
			String s4 = sc.next();
			int r = Integer.parseInt(s4);
			String s5 = sc.next();
			int v = Integer.parseInt(s5);
			A[r-1][f-1][b-1] += v;
		}
		
		//更新した入居状況を表示する
		for(int i = 0; i < 4; i++){
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					System.out.print(" " + A[k][j][i]);
				}
				System.out.println("");
			}
			if(i != 3){
				System.out.println("####################");
			}
		}
	}
} Main public static void main(String args[]){
		
		Scanner sc = new Scanner(System.in);
		
		//情報が何件入力されるかnで受け取る
		String s1 = sc.next();
		int n = Integer.parseInt(s1);
		
		//3次元配列で1フロア10部屋3階建ての公舎4棟のそれぞれの入居状況を格納する（初期値は０にする）
		int A[][][] = new int[10][3][4];
		for(int i = 0; i < 4; i++){
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					A[k][j][i] = 0;
				}
			}
		}
		
		//入力された情報を受け取り入居状況を更新する
		for(int i = 0; i < n; i++){
			String s2 = sc.next();
			int b = Integer.parseInt(s2);
			String s3 = sc.next();
			int f = Integer.parseInt(s3);
			String s4 = sc.next();
			int r = Integer.parseInt(s4);
			String s5 = sc.next();
			int v = Integer.parseInt(s5);
			A[r-1][f-1][b-1] += v;
		}
		
		//更新した入居状況を表示する
		for(int i = 0; i < 4; i++){
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					System.out.print(" " + A[k][j][i]);
				}
				System.out.println("");
			}
			if(i != 3){
				System.out.println("####################");
			}
		}
	} main {
		
		Scanner sc = new Scanner(System.in);
		
		//情報が何件入力されるかnで受け取る
		String s1 = sc.next();
		int n = Integer.parseInt(s1);
		
		//3次元配列で1フロア10部屋3階建ての公舎4棟のそれぞれの入居状況を格納する（初期値は０にする）
		int A[][][] = new int[10][3][4];
		for(int i = 0; i < 4; i++){
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					A[k][j][i] = 0;
				}
			}
		}
		
		//入力された情報を受け取り入居状況を更新する
		for(int i = 0; i < n; i++){
			String s2 = sc.next();
			int b = Integer.parseInt(s2);
			String s3 = sc.next();
			int f = Integer.parseInt(s3);
			String s4 = sc.next();
			int r = Integer.parseInt(s4);
			String s5 = sc.next();
			int v = Integer.parseInt(s5);
			A[r-1][f-1][b-1] += v;
		}
		
		//更新した入居状況を表示する
		for(int i = 0; i < 4; i++){
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					System.out.print(" " + A[k][j][i]);
				}
				System.out.println("");
			}
			if(i != 3){
				System.out.println("####################");
			}
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String s1 = sc.next(); s1 sc.next() sc.next sc int n = Integer.parseInt(s1); n Integer.parseInt(s1) Integer.parseInt Integer s1 int A[][][] = new int[10][3][4]; A new int[10][3][4] 10 3 4 for(int i = 0; i < 4; i++){
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					A[k][j][i] = 0;
				}
			}
		} int i = 0; int i = 0; i 0 i < 4 i 4 i++ i++ i {
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					A[k][j][i] = 0;
				}
			}
		} {
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					A[k][j][i] = 0;
				}
			}
		} for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					A[k][j][i] = 0;
				}
			} int j = 0; int j = 0; j 0 j < 3 j 3 j++ j++ j {
				for(int k = 0; k < 10; k++){
					A[k][j][i] = 0;
				}
			} {
				for(int k = 0; k < 10; k++){
					A[k][j][i] = 0;
				}
			} for(int k = 0; k < 10; k++){
					A[k][j][i] = 0;
				} int k = 0; int k = 0; k 0 k < 10 k 10 k++ k++ k {
					A[k][j][i] = 0;
				} {
					A[k][j][i] = 0;
				} A[k][j][i] = 0 A[k][j][i] A[k][j] A[k] A k j i 0 for(int i = 0; i < n; i++){
			String s2 = sc.next();
			int b = Integer.parseInt(s2);
			String s3 = sc.next();
			int f = Integer.parseInt(s3);
			String s4 = sc.next();
			int r = Integer.parseInt(s4);
			String s5 = sc.next();
			int v = Integer.parseInt(s5);
			A[r-1][f-1][b-1] += v;
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			String s2 = sc.next();
			int b = Integer.parseInt(s2);
			String s3 = sc.next();
			int f = Integer.parseInt(s3);
			String s4 = sc.next();
			int r = Integer.parseInt(s4);
			String s5 = sc.next();
			int v = Integer.parseInt(s5);
			A[r-1][f-1][b-1] += v;
		} {
			String s2 = sc.next();
			int b = Integer.parseInt(s2);
			String s3 = sc.next();
			int f = Integer.parseInt(s3);
			String s4 = sc.next();
			int r = Integer.parseInt(s4);
			String s5 = sc.next();
			int v = Integer.parseInt(s5);
			A[r-1][f-1][b-1] += v;
		} String s2 = sc.next(); s2 sc.next() sc.next sc int b = Integer.parseInt(s2); b Integer.parseInt(s2) Integer.parseInt Integer s2 String s3 = sc.next(); s3 sc.next() sc.next sc int f = Integer.parseInt(s3); f Integer.parseInt(s3) Integer.parseInt Integer s3 String s4 = sc.next(); s4 sc.next() sc.next sc int r = Integer.parseInt(s4); r Integer.parseInt(s4) Integer.parseInt Integer s4 String s5 = sc.next(); s5 sc.next() sc.next sc int v = Integer.parseInt(s5); v Integer.parseInt(s5) Integer.parseInt Integer s5 A[r-1][f-1][b-1] += v A[r-1][f-1][b-1] A[r-1][f-1] A[r-1] A r-1 r 1 f-1 f 1 b-1 b 1 v for(int i = 0; i < 4; i++){
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					System.out.print(" " + A[k][j][i]);
				}
				System.out.println("");
			}
			if(i != 3){
				System.out.println("####################");
			}
		} int i = 0; int i = 0; i 0 i < 4 i 4 i++ i++ i {
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					System.out.print(" " + A[k][j][i]);
				}
				System.out.println("");
			}
			if(i != 3){
				System.out.println("####################");
			}
		} {
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					System.out.print(" " + A[k][j][i]);
				}
				System.out.println("");
			}
			if(i != 3){
				System.out.println("####################");
			}
		} for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					System.out.print(" " + A[k][j][i]);
				}
				System.out.println("");
			} int j = 0; int j = 0; j 0 j < 3 j 3 j++ j++ j {
				for(int k = 0; k < 10; k++){
					System.out.print(" " + A[k][j][i]);
				}
				System.out.println("");
			} {
				for(int k = 0; k < 10; k++){
					System.out.print(" " + A[k][j][i]);
				}
				System.out.println("");
			} for(int k = 0; k < 10; k++){
					System.out.print(" " + A[k][j][i]);
				} int k = 0; int k = 0; k 0 k < 10 k 10 k++ k++ k {
					System.out.print(" " + A[k][j][i]);
				} {
					System.out.print(" " + A[k][j][i]);
				} System.out.print(" " + A[k][j][i]) System.out.print System.out System System.out " " + A[k][j][i] " " A[k][j][i] A[k][j] A[k] A k j i System.out.println("") System.out.println System.out System System.out "" if(i != 3){
				System.out.println("####################");
			} i != 3 i 3 {
				System.out.println("####################");
			} System.out.println("####################") System.out.println System.out System System.out "####################" String args[] args

import java.util.*;

class Main {
	public static void main(String args[]){
		
		Scanner sc = new Scanner(System.in);
		
		//情報が何件入力されるかnで受け取る
		String s1 = sc.next();
		int n = Integer.parseInt(s1);
		
		//3次元配列で1フロア10部屋3階建ての公舎4棟のそれぞれの入居状況を格納する（初期値は０にする）
		int A[][][] = new int[10][3][4];
		for(int i = 0; i < 4; i++){
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					A[k][j][i] = 0;
				}
			}
		}
		
		//入力された情報を受け取り入居状況を更新する
		for(int i = 0; i < n; i++){
			String s2 = sc.next();
			int b = Integer.parseInt(s2);
			String s3 = sc.next();
			int f = Integer.parseInt(s3);
			String s4 = sc.next();
			int r = Integer.parseInt(s4);
			String s5 = sc.next();
			int v = Integer.parseInt(s5);
			A[r-1][f-1][b-1] += v;
		}
		
		//更新した入居状況を表示する
		for(int i = 0; i < 4; i++){
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 10; k++){
					System.out.print(" " + A[k][j][i]);
				}
				System.out.println("");
			}
			if(i != 3){
				System.out.println("####################");
			}
		}
	}
}