void scoreMatrix() {
		score = new int[a.length + 1][b.length + 1];

		// Initialize
		for (int i = 0; i <= a.length; i++)
			setScore(i, 0, deletion * i);

		for (int j = 0; j <= b.length; j++)
			setScore(0, j, deletion * j);

		// Calculate
		bestScore = Integer.MIN_VALUE;
		for (int i = 1; i <= a.length; i++)
			for (int j = 1; j <= b.length; j++) {
				int match = getScore(i - 1, j - 1) + simmilarity(i, j);
				int del = getScore(i - 1, j) + deletion;
				int ins = getScore(i, j - 1) + deletion;
				int s = Math.max(match, Math.max(del, ins));
				setScore(i, j, s);

				bestScore = Math.max(bestScore, s);
			}
	}