import java.io.*;

class Main { 
	public static void main(String[] args){
		try{
			BufferedReader  br = new BufferedReader(new InputStreamReader(System.in));
			
			int n = Integer.parseInt(br.readLine());
			
			int[][][] count = new int[4][3][10];
			
			
			for(int i = 0;i < 4;i++){
				for(int j = 0;j < 3;j++){
					for(int k = 0;k < 10;k++){
						count[i][j][k] = 0;
					}
				}
			}
						
			for(int i = 0;i < n;i++){
			String[] line = br.readLine().split(" ");
			int b = Integer.parseInt(line[0]) -1;
			int f = Integer.parseInt(line[1]) -1;
			int r = Integer.parseInt(line[2]) -1;
			int v = Integer.parseInt(line[3]);
			count[b][f][r] += v;
			}

			for(int i = 0;i < 4;i++){
				if( i != 0){
					System.out.println("####################");
				}				
				for(int j = 0;j < 3;j++){
					for(int k = 0;k < 10;k++){
						System.out.print(" ");
						System.out.print(count[i][j][k]);
					}
					System.out.print("\n");
				}
			}
		} catch(Exception e){
		}
	}
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz