题目描述
我们称一个集合 S=(x1,y1),(x2,y2),...,(xk,yk)是好的,当且仅当把它们按
照 yi降序排序后满足:
? 对于所有满足 3≤ j≤ k的 j,有 xj−2<xj<xj−1或者 xj−1<xj<xj−2。
牛牛在二维平面上有一个 n个点的集合。牛牛请你帮他算算有多少个非空子集 S
是好的。因为答案可能很大,你只需要告诉他答案对 109+7取模后的结果。
输入格式
第一行一个整数 n,表示点的个数。
接下来n行,每行两个整数xi,yi,表示第 i个点的坐标。
输出格式
输出一行一个整数表示答案对 109+7取模后的结果。
样例
输入样例1
4
2 2
3 1
1 4
4 3
输出样例1
14
输入样例2
18
270154266 674435265
-54662325 -976053549
-17003000 493156492
-122658950 -64114385
64821512 -139450437
-828383768 483137960
-394435024 313278055
-137780421 898227301
-594159382 558373148
-195146551 476698144
228023360 -71588671
-890522860 -549082338
-188398146 934884255
-490250512 969810007
647554795 -294860080
-242692159 709705437
-150243399 -263691260
762072374 698248401
输出样例2
791
提示
样例 1说明
除了 {(2,2),(3,1),(1,4)}以外,其它非空子集均合法。
对于 8%的数据,有 1≤ n≤ 18。
对于 20%的数据,有 1≤ n≤ 100。
对于 52%的数据,有 1≤ n≤ 1500。
对于 72%的数据,有 1≤ n≤ 4000。
对于 100%的数据,有 1≤ n≤ 6000,0≤∣xi∣,∣yi∣≤109。xi互不相同,yi 互
不相同