给定平面上的 $n$ 个点 ($n \le 100$)。所有点互不相同。每个点都标有一个字母。
请找出最长的“卷曲回文串”(curly palindrome)。
一个卷曲回文串是一个满足以下条件的序列 $q$:
- 对于所有 $2 \le i \le \text{len}(q) - 1$,点 $q_{i-1}, q_i, q_{i+1}$ 构成的角是逆时针方向的。形式化地,令 $\mathbf{u} = q_i - q_{i-1}$ 且 $\mathbf{v} = q_{i+1} - q_i$,则 $\text{cross}(\mathbf{u}, \mathbf{v}) > 0$,其中 $\text{cross}(\mathbf{a}, \mathbf{b}) := a_x \cdot b_y - a_y \cdot b_x$。
- 序列中没有两个相邻的点相同,即 $q_i \neq q_{i+1}$。允许多次使用同一个点,只要它们不相邻即可。
- 最后,序列中各点对应的标签必须拼成一个回文串。
如果你能构造出任意长度的卷曲回文串,输出 “Infinity”。
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 100$),表示输入点的数量。 接下来的 $n$ 行,每行包含一个带标签点的描述。每行包含两个整数 $x$ 和 $y$ 以及一个小写英文字母 $c$ ($0 \le x, y \le 10^9$),分别表示点的坐标和标签。
输出格式
输出一行,包含最长卷曲回文串的长度。如果长度可以无限大,则输出 “Infinity”。
样例
样例输入 1
4 0 0 o 1 1 c 2 2 p 3 3 c
样例输出 1
2
样例输入 2
3 2 3 e 3 2 e 8 9 e
样例输出 2
Infinity
说明
在第二个样例中,可以通过从某一点出发,重复地绕着由三个 'e' 构成的三角形逆时针行走,从而构造出任意长度 $k$ 的回文串。该长度可以无限大,因此输出为 “Infinity”。