Painting the Barn (Gold)
Farmer John is not good at multitasking. He gets distracted often, making it hard to complete long projects. Currently, he is trying to paint one side of his barn, but he keeps painting small rectangular areas and then getting sidetracked by the needs of tending to his cows, leaving some parts of the barn painted with more coats of paint than others.
We can describe the side of the barn as a 2D x-y plane, on which Farmer John paints n rectangles, each with sides parallel to the coordinate axes, each described by the coordinates of its lower-left and upper-right corner points.
Farmer John wants to apply several coats of paint to the barn so it doesn't need to be repainted again in the immediate future. However, he doesn't want to waste time applying an excessive number of coats of paint. It turns out that k coats of paint is the optimal amount. However, looking at the amount of area covered by k coats of paint, he is not very happy. He is willing to paint up to two additional rectangles to try and increase this area, as long as these two rectangles are disjoint (not sharing any positive amount of area in common). Note that he can also decide to paint zero new rectangles or just one new rectangle if this ends up being the best thing to do.
Input
The first line contains n and k (1 ≤ k, n ≤ 10^5
). Each of the remaining n lines contains four integers x[1]
, y[1]
, x[2]
, y[2]
describing a rectangular region being painted, with lower-left corner (x[1]
, y[1]
) and upper-right corner (x[2]
, y[2]
). All x and y values are in the range 0...200, and all rectangles have positive area.
Like the rectangles he already painted, any new rectangles that Farmer John paints must have positive area, and their corner points must have x and y coordinates in the range 0...200.
Output
Print the maximum area of the barn that could be covered by exactly k coats of paint, if Farmer John paints up to two additional disjoint rectangles.