小文最近在研究排列问题,但他遇到了一个难题,你能帮他解决吗?
有一个空序列$$$S$$$,每一次操作将$$$1$$$到$$$m$$$的排列随机打乱并接到$$$S$$$的末尾。重复上述操作$$$10^{1000}$$$次后,给定一个长度为$$$n$$$的序列$$$T$$$,小文想知道$$$T$$$是否有可能是$$$S$$$的一个连续子段。
如果从序列$$$S$$$的开头和结尾删去若干个数可以得到序列$$$T$$$,那么称$$$T$$$是$$$S$$$的一个连续子段。
$$$1$$$到$$$m$$$的排列是指由$$$1$$$到$$$m$$$这$$$m$$$个不同的整数以任意顺序排列所组成的数组。
第一行输入两个整数$$$n(1\leq{n}\leq{5\cdot{10^5}})$$$和$$$m(1\leq{m}\leq{10^9})$$$。
第二行输入n个整数$$$T_1,T_2,\cdots,T_n$$$,代表序列$$$T(1\leq{T_i}\leq{10^9})$$$。
如果$$$T$$$有可能是$$$S$$$的一个连续子段,输出"YES",否则输出"NO"。
8 3 2 3 2 1 3 3 2 1
YES
4 2 1 1 2 2
YES
3 2 1 1 1
NO
1 4 5
NO
| Name |
|---|


