University of Ulm Local Contest

Source file: decorate.(c|cc|hs|java|pas)

Input file: decorate.in

After building his huge villa, Mr. Rich cannot help but notice that the interior walls look rather blank. To change that, he starts to hang paintings from his wonderful collection. But soon he realizes that it becomes quite difficult to find a place on the wall where a painting can be placed without overlapping other paintings. Now he needs a program which would tell him, given the already placed paintings, where to place the next painting without moving any other paintings (or indicating that this is impossible). Paintings have a rectangular shape and are to be placed parallel to the side of the wall. If you do not mind a nice reward from Mr. Rich, go on and solve the problem.

**Input Specification**

The first line of the input file contains a number representing the
number of test cases to follow.
Each test case starts with a line containing three numbers *n*,
*w*
and *h*.
*n* is the number of paintings already hanging on the
wall, *w*
is the width of the wall
and *h* is the height of the wall.
The next *n* lines contain 4 integers *x _{1}, y_{1},
x_{2}, y_{2}* each (

You can assume that

**Output Specification**

Produce one line of output for each test case. Write "Fail!" if there is no place left on the wall where the painting could be placed without overlapping other paintings. Otherwise, write the coordinates where the lower left corner of the painting should be placed. In case there is more than one solution, select the solution with a minimum y-coordinate, and break ties using the minimum x-coordinate.

2 1 10 9 5 4 10 9 9 5 2 10 10 5 5 10 10 0 0 4 3 3 4
Fail! 4 0 |
The following image illustrates the second sample test case: |