public static int mss(String dna1, String dna2, boolean print) {
		int[][] matrix = new int[dna2.length() + 1][dna1.length() + 1];
		int i = 0, j = 0;

		for(;i<=dna2.length();i++)
			matrix[i][0] = i;
		for(;j<=dna1.length();j++)
			matrix[0][j] = j;

		for(i=1;i<=dna1.length();i++) {
			for(j=1;j<=dna2.length();j++) {
				if(dna1.charAt(i - 1) == dna2.charAt(j - 1)) {
					matrix[i][j] = matrix[i-1][j-1];
				} else {
					matrix[i][j] = min_3(matrix[i-1][j] + 1, matrix[i][j-1] + 1, matrix[i-1][j-1] + 1);
				}
			}
		}
		if(print) {
			for(int l1 = 0; l1 <= dna1.length(); l1++) {
				for(int l2 = 0; l2 <= dna2.length(); l2++) {
						System.out.print(matrix[l2][l1] + "  ");
				}
				System.out.println("\n");
			}
		}
		return matrix[dna2.length()][dna1.length()];
	}