#154. 世界上有没有两片相同的树叶

世界上有没有两片相同的树叶

附加文件

问题描述

有 N 片树叶,每片树叶均由 k 个角组成,每个角都有一个度量值。

第 i 片树叶的 k 个角的度量值从某个角开始顺时针依次记为 Li,1,Li,2,Li,3,,Li,kL_{i,1}, L_{i,2}, L_{i,3}, ……, L_{i,k}

因为每片树叶都是封闭的图形,所以从任何一个角开始顺时针或逆时针依次记录度量值,得到的 k 元组都代表相同的树叶。

比如 Li,1,Li,2,Li,3,,Li,kL_{i,1}, L_{i,2}, L_{i,3}, ……, L_{i,k}Li,2,Li,3,,Li,k,Li,1L_{i,2}, L_{i,3}, ……, L_{i,k}, L_{i,1}Li,k,Li,k1,,Li,2,Li,1L_{i,k}, L_{i,k-1}, ……, L_{i,2}, L_{i,1} 都是相同的树叶。

我们称两片树叶相同,当且仅当它们各自从某一角开始顺时针或逆时针记录度量值,能得到两个相同的 k 元组。

求这 N 片树叶中是否存在两片相同的树叶。

多组数据。

输入格式

多组数据,对于每组数据:

  • 第一行:两个整数 N, k, 分别表示树叶的数量和每片树叶含有的角的数量。
  • 接下来 N 行,每行描述一片树叶:每行包含 k 个整数,依次代表树叶的 k 个角的度量值(这 k 个数即为从树叶的随机一个角顺时针或逆时针记录度量值得到)。

当读取到单独的一行一个整数 0 时,表示输入数据结束。

输出格式

每组数据的答案占一行。

对于每组数据:

  • 如果存在两片相同的树叶,则输出:Yes
  • 如果不存在两片相同的树叶,则输出:No

输入样例

2 4
1 2 3 4
4 3 2 1
2 5
1 2 3 4 5
1 3 2 4 5
3 6
1 2 3 4 5 6
1 2 3 4 5 7
5 6 1 2 3 4
0

输出样例

Yes
No
Yes

数据范围

1 ≤ N ≤ 10^5, 1 ≤ k ≤ 10, 0≤ Li,jL_{i,j} ≤ 10^9

每个测试点包含 10 组数据,且保证有一半数据 N = 10^5, 另一半数据均有 N ≤ 10。