public boolean checkPossible() {
		int[] horizontalMax = new int[myLawn.length];
		int[] verticalMax = new int[myLawn[0].length];
		for (int i = 0; i < myLawn.length; i++) {
			int max = 0;
			for (int j = 0; j < myLawn[0].length; j++)
				if (max < myLawn[i][j])
					max = myLawn[i][j];
			horizontalMax[i] = max;
		}
		for (int i = 0; i < myLawn[0].length; i++) {
			int max = 0;
			for (int j = 0; j < myLawn.length; j++)
				if (max < myLawn[j][i])
					max = myLawn[j][i];
			verticalMax[i] = max;
		}
		for (int i = 0; i < myLawn.length; i++)
			for (int j = 0; j < myLawn[0].length; j++) {
				if (myLawn[i][j] < Math.min(horizontalMax[i], verticalMax[j]))
					return false;
			}
		return true;
	}