#P1903. 划分区域

划分区域

题目描述

薯条哥是一个聪明而勤奋的年轻数学爱好者,他热衷于解决各种数学难题。

有一天,他遇到了一个有趣的问题:在笛卡尔坐标系中,有一段区间[A,B][A, B],被许多不同的直线划分成了许多小的区域。(不存在任意三条直线交于一点的情况。)

他好奇地想知道,在某个特定时刻,这个区间被划分成了多少块小区域。请你编程帮助薯条哥解决这个问题。

直线AA平行于YY轴,A(x=1)A(x=1);直线BB平行于YY轴,B(x=20)B(x=20)

输入描述

第一行输入一个整数T(1T100)T(1\le T\le 100),表示输入数据的组数。

输入有TT组,每组给定44个整数x1,y1,x2,y2(1x1,y1,x2,y21000)x_1,y_1,x_2,y_2(1\le x_1,y_1,x_2,y_2\le 1000),分别表示一条直线上其中两个端点(x1,y1),(x2,y2)(x_1,y_1),(x_2,y_2)的坐标。

例如:2 5 20 252\ 5\ 20\ 25 表示一条直线的两个端点的坐标,分别为 (2,5)(2,5)(20,25)(20,25)

输出描述

输出一个整数,表示被输入线段划分的区域个数。

样例

输入

2
2 5 20 25
3 4 10 30

输出

4