public static long getMaxRectangleSum() {
		int ROWS = m.length, COLS = m[0].length;
		long[] comp = new long[ROWS];
		long maxSum = Long.MIN_VALUE;
		topRow = topCol = bottomRow = bottomCol = 0;
		for (int left = 0; left < COLS; left++) {
			Arrays.fill(comp, 0);
			for (int right = left; right < COLS; right++) {
				for (int r = 0; r < ROWS; r++)
					comp[r] += m[r][right];
				long max = kadane(comp);
				if (maxSum < max) {
					maxSum = max;
					topRow = startRow;
					bottomRow = endRow;
					topCol = left;
					bottomCol = right;
				}
			}
		}
		return maxSum;
	}