著名的登山爱好者 Bajtazar 即将踏上新的旅程。这一次,波兰塔特拉山脉(Tatra Mountains)的照片吸引了他,他决定去征服格耶沃特山(Giewont)的顶峰。因此,他很想知道自己需要爬多高。
遗憾的是,他在巴伊托奇亚(Bajtocja)购买的塔特拉山脉地图并不完整,存在很多缺陷。
实际上,地图上唯一标注的就是等高线。我们可以在地图上建立一个直角坐标系;此时,每一条等高线都是一条简单的闭合折线,其顶点坐标为整数,且边与坐标轴平行。等高线之间互不相交,也不接触,但可以相互包含。我们假设存在一条“最外层”的等高线,它包含了所有其他的等高线。
Bajtazar 想从地图上读出最高山峰的高度,但等高线上并没有标注它们所处的海拔高度。因此,Bajtazar 决定从上方估算这个高度。由于地图上的山峰由一系列等高线表示,其中每一条都包含在上一条之中,所以 Bajtazar 认为,这样的序列越长,山峰可能就越高。
不幸的是,他怀疑地图上只包含了一部分等高线,实际上山峰可能更高。他现在尝试在地图上补画新的等高线,以得到尽可能高的山峰。请帮助 Bajtazar 编写一个程序来完成这项任务。新的等高线必须是简单的闭合折线,且满足与地图上原有等高线相同的条件(顶点坐标为整数,边与坐标轴平行,不与其他等高线相交,且包含在“最外层”等高线内)。
输入格式
输入的第一行包含一个正整数 $n$,表示地图上等高线的数量。 接下来的 $n$ 行,每行描述一条等高线。描述以一个偶数 $k$ 开头,表示等高线的顶点数。随后是 $k$ 个整数 $x_1, x_2, \dots, x_k$($-10^8 \le x_i \le 10^8$);等高线的顶点依次为 $(x_1, x_2), (x_3, x_2), (x_3, x_4), (x_5, x_4), \dots, (x_{k-1}, x_k), (x_1, x_k)$。 所有等高线的顶点总数不超过 $50\,000$。等高线以任意顺序给出。按照顶点顺序绕行任意一条等高线时,其“内部”始终位于左侧。
输出格式
输出一个整数,表示通过补画新的等高线所能获得的山峰的最大高度(即相互包含的等高线序列的最长长度)。
样例
输入 1
6 4 3 5 6 8 8 7 4 9 5 8 6 9 7 4 13 5 14 6 10 8 1 17 12 8 11 0 2 4 0 4 11 4 15 8 4 10 10 13 11
输出 1
5
说明 1
样例解释:在图中,地图上的等高线用实线标出。地图上存在一个由三条相互包含的等高线组成的山峰。补画三条新的等高线(虚线)可以得到一个由五条相互包含的等高线组成的山峰。