You are given an integer <code>n</code> representing the dimensions of an <code>n x n</code> grid, with the origin at the bottom-left corner of the grid. You are also given a 2D array of coordinates <code>rectangles</code>, where <code>rectangles[i]</code> is in the form <code>[start<sub>x</sub>, start<sub>y</sub>, end<sub>x</sub>, end<sub>y</sub>]</code>, representing a rectangle on the grid. Each rectangle is defined as follows:
<code>(start<sub>x</sub>, start<sub>y</sub>)</code>: The bottom-left corner of the rectangle.
<code>(end<sub>x</sub>, end<sub>y</sub>)</code>: The top-right corner of the rectangle.
<strong>Note </strong>that the rectangles do not overlap. Your task is to determine if it is possible to make <strong>either two horizontal or two vertical cuts</strong> on the grid such that:
Each of the three resulting sections formed by the cuts contains <strong>at least</strong> one rectangle.
Every rectangle belongs to <strong>exactly</strong> one section.
Return <code>true</code> if such cuts can be made; otherwise, return <code>false</code>.