#Lutece2382. 矩阵乘法

矩阵乘法

Migrated from Lutece 2382 矩阵乘法

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

在线性代数课中,小兔子学到了一个重要的知识点——矩阵乘法。

对于两个矩阵 AABB,它们的乘积 ABAB 有意义当且仅当 AA 的列数等于 BB 的行数。如果 AA 是一个 n×mn \times m 矩阵,BB 是一个 m×pm \times p 矩阵,那么它们的乘积 ABAB 就是一个 n×pn \times p 矩阵。

我们可以推广到任意数量矩阵的乘法。对于矩阵 A1,A2,,AnA_1, A_2, \ldots, A_n,如果对任意的 i=1,2,,n1i = 1,2, \ldots, n – 1AiA_i 的列数等于 Ai+1A_{i+1} 的行数,那么它们的乘积 A1A2AnA_1 A_2 \cdots A_n 是有意义的。乘积矩阵的行数就是 A1A_1 的行数,列数就是 AnA_n 的列数。

学会了矩阵乘法后,小兔子晚上做了个梦,他梦见他面前出现了 nn 个矩阵 A1,A2,,AnA_1, A_2, \ldots, A_n,并且他知道每个矩阵的行数与列数。小兔子想知道,是否存在一种排列,使得这些矩阵的乘积有意义。具体地说,是否存在一种 11nn 的排列 p1,p2,,pnp_1, p_2, \ldots, p_n,使得乘积 Ap1Ap2ApnA_{p_1} A_{p_2} \ldots A_{p_n} 有意义。如果存在,他还想知道乘积矩阵的元素个数(即行数乘以列数)最大是多少。

Input

第一行包含一个整数 nn (1n1051 \le n \le 10^5),表示矩阵的个数。

接下来的 nn 行,第 ii 行包含两个整数 xix_iyiy_i (1xi,yi1001 \le x_i,y_i \le 100),表示矩阵 AiA_ixix_i 行和 yiy_i 列。

Output

如果存在一种排列使得矩阵乘积有意义,输出乘积矩阵元素个数的最大值。如果不存在,输出 1-1

Samples

3
2 3
1 2
3 4
4
2
1 2
1 3
-1

Note

对于第一组样例, A1A_12×32 \times 3 矩阵,A2A_21×21 \times 2 矩阵,A3A_33×43 \times 4 矩阵。乘积 A2A1A3A_2 A_1 A_3 有意义,是 1×41 \times 4 矩阵,元素个数为 44

Resources

2020 UESTC ICPC Training for Graph