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

class Main {

	public static void main(String[] args) throws IOException {
		ArrayList<ArrayList<ArrayList<String>>> itiKaiso = new ArrayList<ArrayList<ArrayList<String>>>();
		ArrayList<ArrayList<String>> niKaiso = new ArrayList<ArrayList<String>>();
		ArrayList<String> sanKaiso = new ArrayList<String>();
		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3 && i < 3) {
					for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					}
				} else {
					for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					}
				}
				niKaiso.add(sanKaiso);
				sanKaiso = new ArrayList<String>();
			}
			itiKaiso.add(niKaiso);
			niKaiso = new ArrayList<ArrayList<String>>();
		}
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		Integer infoCount = Integer.parseInt(br.readLine());
		for (int i = 0; i < infoCount; i++) {
			String[] strIndexs = br.readLine().split(" ");
			Integer addNum = Integer.parseInt(itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
					.substring(
							itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() - 1)) + Integer.parseInt(strIndexs[3]);
			if (addNum < 0) {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " 0");
			} else {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " " + String.valueOf(addNum));
			}
			addNum = 0;
		}
		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3) {
					for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} else {
					for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				}
			}
		}
	}
} 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 {

	public static void main(String[] args) throws IOException {
		ArrayList<ArrayList<ArrayList<String>>> itiKaiso = new ArrayList<ArrayList<ArrayList<String>>>();
		ArrayList<ArrayList<String>> niKaiso = new ArrayList<ArrayList<String>>();
		ArrayList<String> sanKaiso = new ArrayList<String>();
		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3 && i < 3) {
					for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					}
				} else {
					for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					}
				}
				niKaiso.add(sanKaiso);
				sanKaiso = new ArrayList<String>();
			}
			itiKaiso.add(niKaiso);
			niKaiso = new ArrayList<ArrayList<String>>();
		}
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		Integer infoCount = Integer.parseInt(br.readLine());
		for (int i = 0; i < infoCount; i++) {
			String[] strIndexs = br.readLine().split(" ");
			Integer addNum = Integer.parseInt(itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
					.substring(
							itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() - 1)) + Integer.parseInt(strIndexs[3]);
			if (addNum < 0) {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " 0");
			} else {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " " + String.valueOf(addNum));
			}
			addNum = 0;
		}
		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3) {
					for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} else {
					for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				}
			}
		}
	}
} Main public static void main(String[] args) throws IOException {
		ArrayList<ArrayList<ArrayList<String>>> itiKaiso = new ArrayList<ArrayList<ArrayList<String>>>();
		ArrayList<ArrayList<String>> niKaiso = new ArrayList<ArrayList<String>>();
		ArrayList<String> sanKaiso = new ArrayList<String>();
		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3 && i < 3) {
					for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					}
				} else {
					for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					}
				}
				niKaiso.add(sanKaiso);
				sanKaiso = new ArrayList<String>();
			}
			itiKaiso.add(niKaiso);
			niKaiso = new ArrayList<ArrayList<String>>();
		}
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		Integer infoCount = Integer.parseInt(br.readLine());
		for (int i = 0; i < infoCount; i++) {
			String[] strIndexs = br.readLine().split(" ");
			Integer addNum = Integer.parseInt(itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
					.substring(
							itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() - 1)) + Integer.parseInt(strIndexs[3]);
			if (addNum < 0) {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " 0");
			} else {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " " + String.valueOf(addNum));
			}
			addNum = 0;
		}
		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3) {
					for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} else {
					for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				}
			}
		}
	} main {
		ArrayList<ArrayList<ArrayList<String>>> itiKaiso = new ArrayList<ArrayList<ArrayList<String>>>();
		ArrayList<ArrayList<String>> niKaiso = new ArrayList<ArrayList<String>>();
		ArrayList<String> sanKaiso = new ArrayList<String>();
		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3 && i < 3) {
					for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					}
				} else {
					for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					}
				}
				niKaiso.add(sanKaiso);
				sanKaiso = new ArrayList<String>();
			}
			itiKaiso.add(niKaiso);
			niKaiso = new ArrayList<ArrayList<String>>();
		}
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		Integer infoCount = Integer.parseInt(br.readLine());
		for (int i = 0; i < infoCount; i++) {
			String[] strIndexs = br.readLine().split(" ");
			Integer addNum = Integer.parseInt(itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
					.substring(
							itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() - 1)) + Integer.parseInt(strIndexs[3]);
			if (addNum < 0) {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " 0");
			} else {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " " + String.valueOf(addNum));
			}
			addNum = 0;
		}
		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3) {
					for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} else {
					for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				}
			}
		}
	} ArrayList<ArrayList<ArrayList<String>>> itiKaiso = new ArrayList<ArrayList<ArrayList<String>>>(); itiKaiso new ArrayList<ArrayList<ArrayList<String>>>() ArrayList<ArrayList<String>> niKaiso = new ArrayList<ArrayList<String>>(); niKaiso new ArrayList<ArrayList<String>>() ArrayList<String> sanKaiso = new ArrayList<String>(); sanKaiso new ArrayList<String>() for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3 && i < 3) {
					for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					}
				} else {
					for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					}
				}
				niKaiso.add(sanKaiso);
				sanKaiso = new ArrayList<String>();
			}
			itiKaiso.add(niKaiso);
			niKaiso = new ArrayList<ArrayList<String>>();
		} int i = 0; int i = 0; i 0 i < 4 i 4 i++ i++ i {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3 && i < 3) {
					for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					}
				} else {
					for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					}
				}
				niKaiso.add(sanKaiso);
				sanKaiso = new ArrayList<String>();
			}
			itiKaiso.add(niKaiso);
			niKaiso = new ArrayList<ArrayList<String>>();
		} {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3 && i < 3) {
					for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					}
				} else {
					for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					}
				}
				niKaiso.add(sanKaiso);
				sanKaiso = new ArrayList<String>();
			}
			itiKaiso.add(niKaiso);
			niKaiso = new ArrayList<ArrayList<String>>();
		} for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3 && i < 3) {
					for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					}
				} else {
					for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					}
				}
				niKaiso.add(sanKaiso);
				sanKaiso = new ArrayList<String>();
			} int j = 0; int j = 0; j 0 j < 4 j 4 j++ j++ j {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3 && i < 3) {
					for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					}
				} else {
					for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					}
				}
				niKaiso.add(sanKaiso);
				sanKaiso = new ArrayList<String>();
			} {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3 && i < 3) {
					for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					}
				} else {
					for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					}
				}
				niKaiso.add(sanKaiso);
				sanKaiso = new ArrayList<String>();
			} if (j == 3 && i == 3) {
					break;
				} j == 3 && i == 3 j == 3 j 3 i == 3 i 3 {
					break;
				} break; if (j == 3 && i < 3) {
					for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					}
				} else {
					for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					}
				} j == 3 && i < 3 j == 3 j 3 i < 3 i 3 {
					for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					}
				} for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					} int l = 0; int l = 0; l 0 l < 20 l 20 l++ l++ l {
						sanKaiso.add("#");
					} {
						sanKaiso.add("#");
					} sanKaiso.add("#") sanKaiso.add sanKaiso "#" {
					for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					}
				} for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					} int l = 0; int l = 0; l 0 l < 10 l 10 l++ l++ l {
						sanKaiso.add(" 0");
					} {
						sanKaiso.add(" 0");
					} sanKaiso.add(" 0") sanKaiso.add sanKaiso " 0" niKaiso.add(sanKaiso) niKaiso.add niKaiso sanKaiso sanKaiso = new ArrayList<String>() sanKaiso new ArrayList<String>() itiKaiso.add(niKaiso) itiKaiso.add itiKaiso niKaiso niKaiso = new ArrayList<ArrayList<String>>() niKaiso new ArrayList<ArrayList<String>>() BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) Integer infoCount = Integer.parseInt(br.readLine()); infoCount Integer.parseInt(br.readLine()) Integer.parseInt Integer br.readLine() br.readLine br for (int i = 0; i < infoCount; i++) {
			String[] strIndexs = br.readLine().split(" ");
			Integer addNum = Integer.parseInt(itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
					.substring(
							itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() - 1)) + Integer.parseInt(strIndexs[3]);
			if (addNum < 0) {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " 0");
			} else {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " " + String.valueOf(addNum));
			}
			addNum = 0;
		} int i = 0; int i = 0; i 0 i < infoCount i infoCount i++ i++ i {
			String[] strIndexs = br.readLine().split(" ");
			Integer addNum = Integer.parseInt(itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
					.substring(
							itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() - 1)) + Integer.parseInt(strIndexs[3]);
			if (addNum < 0) {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " 0");
			} else {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " " + String.valueOf(addNum));
			}
			addNum = 0;
		} {
			String[] strIndexs = br.readLine().split(" ");
			Integer addNum = Integer.parseInt(itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
					.substring(
							itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() - 1)) + Integer.parseInt(strIndexs[3]);
			if (addNum < 0) {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " 0");
			} else {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " " + String.valueOf(addNum));
			}
			addNum = 0;
		} String[] strIndexs = br.readLine().split(" "); strIndexs br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " Integer addNum = Integer.parseInt(itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
					.substring(
							itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() - 1)) + Integer.parseInt(strIndexs[3]); addNum Integer.parseInt(itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
					.substring(
							itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() - 1)) + Integer.parseInt(strIndexs[3]) Integer.parseInt(itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
					.substring(
							itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() - 1)) Integer.parseInt Integer itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
					.substring(
							itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() - 1) itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
					.substring itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1) itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1) itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1) itiKaiso.get itiKaiso Integer.parseInt(strIndexs[0]) - 1 Integer.parseInt(strIndexs[0]) Integer.parseInt Integer strIndexs[0] strIndexs 0 1 Integer.parseInt(strIndexs[1]) - 1 Integer.parseInt(strIndexs[1]) Integer.parseInt Integer strIndexs[1] strIndexs 1 1 Integer.parseInt(strIndexs[2]) - 1 Integer.parseInt(strIndexs[2]) Integer.parseInt Integer strIndexs[2] strIndexs 2 1 itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() - 1 itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1) itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1) itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1) itiKaiso.get itiKaiso Integer.parseInt(strIndexs[0]) - 1 Integer.parseInt(strIndexs[0]) Integer.parseInt Integer strIndexs[0] strIndexs 0 1 Integer.parseInt(strIndexs[1]) - 1 Integer.parseInt(strIndexs[1]) Integer.parseInt Integer strIndexs[1] strIndexs 1 1 Integer.parseInt(strIndexs[2]) - 1 Integer.parseInt(strIndexs[2]) Integer.parseInt Integer strIndexs[2] strIndexs 2 1 1 Integer.parseInt(strIndexs[3]) Integer.parseInt Integer strIndexs[3] strIndexs 3 if (addNum < 0) {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " 0");
			} else {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " " + String.valueOf(addNum));
			} addNum < 0 addNum 0 {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " 0");
			} itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " 0") itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1) itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1) itiKaiso.get itiKaiso Integer.parseInt(strIndexs[0]) - 1 Integer.parseInt(strIndexs[0]) Integer.parseInt Integer strIndexs[0] strIndexs 0 1 Integer.parseInt(strIndexs[1]) - 1 Integer.parseInt(strIndexs[1]) Integer.parseInt Integer strIndexs[1] strIndexs 1 1 Integer.parseInt(strIndexs[2]) - 1 Integer.parseInt(strIndexs[2]) Integer.parseInt Integer strIndexs[2] strIndexs 2 1 " 0" {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " " + String.valueOf(addNum));
			} itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " " + String.valueOf(addNum)) itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1) itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1) itiKaiso.get itiKaiso Integer.parseInt(strIndexs[0]) - 1 Integer.parseInt(strIndexs[0]) Integer.parseInt Integer strIndexs[0] strIndexs 0 1 Integer.parseInt(strIndexs[1]) - 1 Integer.parseInt(strIndexs[1]) Integer.parseInt Integer strIndexs[1] strIndexs 1 1 Integer.parseInt(strIndexs[2]) - 1 Integer.parseInt(strIndexs[2]) Integer.parseInt Integer strIndexs[2] strIndexs 2 1 " " + String.valueOf(addNum) " " String.valueOf(addNum) String.valueOf String addNum addNum = 0 addNum 0 for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3) {
					for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} else {
					for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				}
			}
		} int i = 0; int i = 0; i 0 i < 4 i 4 i++ i++ i {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3) {
					for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} else {
					for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				}
			}
		} {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3) {
					for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} else {
					for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				}
			}
		} for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3) {
					for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} else {
					for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				}
			} int j = 0; int j = 0; j 0 j < 4 j 4 j++ j++ j {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3) {
					for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} else {
					for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				}
			} {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3) {
					for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} else {
					for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				}
			} if (j == 3 && i == 3) {
					break;
				} j == 3 && i == 3 j == 3 j 3 i == 3 i 3 {
					break;
				} break; if (j == 3) {
					for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} else {
					for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} j == 3 j 3 {
					for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					} int k = 0; int k = 0; k 0 k < 20 k 20 k++ k++ k {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					} {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					} if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						} k == 19 k 19 {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} System.out.println(itiKaiso.get(i).get(j).get(k)) System.out.println System.out System System.out itiKaiso.get(i).get(j).get(k) itiKaiso.get(i).get(j).get itiKaiso.get(i).get(j) itiKaiso.get(i).get itiKaiso.get(i) itiKaiso.get itiKaiso i j k {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						} System.out.print(itiKaiso.get(i).get(j).get(k)) System.out.print System.out System System.out itiKaiso.get(i).get(j).get(k) itiKaiso.get(i).get(j).get itiKaiso.get(i).get(j) itiKaiso.get(i).get itiKaiso.get(i) itiKaiso.get itiKaiso i j k {
					for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					} int k = 0; int k = 0; k 0 k < 10 k 10 k++ k++ k {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					} {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					} if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						} k == 9 k 9 {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} System.out.println(itiKaiso.get(i).get(j).get(k)) System.out.println System.out System System.out itiKaiso.get(i).get(j).get(k) itiKaiso.get(i).get(j).get itiKaiso.get(i).get(j) itiKaiso.get(i).get itiKaiso.get(i) itiKaiso.get itiKaiso i j k {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						} System.out.print(itiKaiso.get(i).get(j).get(k)) System.out.print System.out System System.out itiKaiso.get(i).get(j).get(k) itiKaiso.get(i).get(j).get itiKaiso.get(i).get(j) itiKaiso.get(i).get itiKaiso.get(i) itiKaiso.get itiKaiso i j k String[] args args
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

class Main {

	public static void main(String[] args) throws IOException {
		ArrayList<ArrayList<ArrayList<String>>> itiKaiso = new ArrayList<ArrayList<ArrayList<String>>>();
		ArrayList<ArrayList<String>> niKaiso = new ArrayList<ArrayList<String>>();
		ArrayList<String> sanKaiso = new ArrayList<String>();
		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3 && i < 3) {
					for (int l = 0; l < 20; l++) {
						sanKaiso.add("#");
					}
				} else {
					for (int l = 0; l < 10; l++) {
						sanKaiso.add(" 0");
					}
				}
				niKaiso.add(sanKaiso);
				sanKaiso = new ArrayList<String>();
			}
			itiKaiso.add(niKaiso);
			niKaiso = new ArrayList<ArrayList<String>>();
		}
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		Integer infoCount = Integer.parseInt(br.readLine());
		for (int i = 0; i < infoCount; i++) {
			String[] strIndexs = br.readLine().split(" ");
			Integer addNum = Integer.parseInt(itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
					.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
					.substring(
							itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1)
							.get(Integer.parseInt(strIndexs[1]) - 1).get(Integer.parseInt(strIndexs[2]) - 1)
							.length() - 1)) + Integer.parseInt(strIndexs[3]);
			if (addNum < 0) {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " 0");
			} else {
				itiKaiso.get(Integer.parseInt(strIndexs[0]) - 1).get(Integer.parseInt(strIndexs[1]) - 1)
				.set(Integer.parseInt(strIndexs[2]) - 1, " " + String.valueOf(addNum));
			}
			addNum = 0;
		}
		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (j == 3 && i == 3) {
					break;
				}
				if (j == 3) {
					for (int k = 0; k < 20; k++) {
						if (k == 19) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				} else {
					for (int k = 0; k < 10; k++) {
						if (k == 9) {
							System.out.println(itiKaiso.get(i).get(j).get(k));
						} else {
							System.out.print(itiKaiso.get(i).get(j).get(k));
						}
					}
				}
			}
		}
	}
}