## Balkan OI '11 P6 - Trapezoids

View as PDF

Points: 20 (partial)
Time limit: 0.5s
Memory limit: 64M

Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

Consider two arbitrarily chosen horizontal lines. A trapezoid between these lines has two vertices situated on the upper line and the other two vertices on the lower line (see figure below). We will denote by , , and the upper left, upper right, lower left and respectively lower right vertices of the trapezoid . A subset of trapezoids is called independent if no two trapezoids from intersect.

Determine the cardinality of the largest independent set of trapezoids (the largest set means the set with most elements). Also find the count of different independent sets with maximum cardinality. Find this count modulo .

#### Input Specification

The first line of input contains one integer – the number of trapezoids. Each of the next lines contains four integers , , and . No two trapezoids have a common vertex (corner).

#### Output Specification

The only line of output should contain two numbers separated by space: firstly, the cardinality of the largest independent set; secondly, the count of different independent sets with maximum cardinality modulo .

#### Constraints

• If only the first number in the output is correct you will get of the test score.
• of the tests will have

#### Sample Input

7
1 3 1 9
4 7 2 8
11 15 4 12
10 12 15 19
16 23 16 22
20 22 13 25
30 31 30 31

#### Sample Output

3 8

#### Explantion for Sample Output

The picture below is not an accurate representation. The trapezoids' top and bottom have been shifted up and down for visibility.