[Balkan 2011]trapezoid
平面上有两条水平直线。现有 个梯形,每个梯形的两个顶点位于上方直线上,另外两个顶点位于下方直线上。对于第 个梯形,、、 和 分别表示其左上顶点、右上顶点、左下顶点和右下顶点的横坐标。
若梯形集合 中任意两个梯形均不相交,则称 为一个独立集。请求出最大独立集所包含的梯形数量,以及不同最大独立集的个数。方案数对 取模。
输入格式
第一行包含一个整数 ,表示梯形的个数。
接下来 行,第 行包含四个整数 、、 和 ,描述第 个梯形。
任意两个梯形都没有公共顶点。
输出格式
输出一行两个整数,以空格分隔。第一个整数表示最大独立集包含的梯形数量,第二个整数表示不同最大独立集的个数对 取模后的结果。
样例输入
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
样例输出
3 8
样例解释
题目所附示意图并不是样例的精确表示。为了便于观察,图中梯形的上边和下边分别进行了下移和上移。
数据范围
- ;
- ;
- 对于 的数据,。
来源与许可
本题为 Balkan 2011 试题「Trapezoid」,题面与测试数据整理自 BZOJ。
样例 1
输入
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
输出
3 8