# Picture P23406

Statement

thehtml

Charlotte went on holidays to Machu Picchu and took a picture that wants to frame to hang it on the wall. Naturally, she wants a frame big enough to contains her picture, but also wants that it is not bigger than necessary. Specifically, she wants to minimize the area of a frame. The picture as well as the frame are rectangles which dimensions are described by two natural numbers. Write an algorithm that finds, given a sequence of frames, the area of the smallest frame in which fits the picture.

For instance, if the picture measures 7 × 11 and there are three frames with dimensions 9 × 12, 6 × 15, and 13× 8, Charlotte would choose the last frame. The second one is too small, and the other frames the first one is the biggest (9*12 = 108, compared with 13*8 = 104).

Input

Each case of the input starts with two natural numbers X ≤ 1000 and Y ≤ 1000 describing the dimensions of the picture. Then, a number N ≤ 1000 of frames in the shop follows, and N lines with two natural numbers A ≤ 1000 and B ≤ 1000 in each one, describing the dimensions of each frame. The input may contain various cases, separated between them by a line in white; your program must detect when the cases finish.

Output

For each case, your program must print the area of the smallest frame in which the picture fits. If it does not fit in any frame, it must print −1.

Author: Anders Jonsson

Public test cases
• Input

```7 11
3
9 12
6 15
13 8
```

Output

```104
```
• Input

```200 450
4
500 300
180 450
450 400
250 650

10 10
1
20 20

3 3
0

10 20
1
20 10```

Output

```150000
400
-1
200
```
• Information
Author
Anders Jonsson
Language
English
Translator
Carlos Molina
Original language
Spanish
Other languages
Spanish
Official solutions
C++
User solutions
C++ Java