题号:NC19764
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld
题目描述
Kamina正在为从世界各地集结而来的Ganmen(一种战斗机器人)军团整队。
Kamina麾下一共有 n 台Ganmen,每台Ganmen有一个互不相同的编号,编号的范围是 [1, n] 。Kamina命令 n 台Ganmen排成了一列,并决定委托Simon将这个序列分成 k 段,每段是一个小组。Kamina希望在每个小组内部按照编号升序排序之后,整个序列是递增的,为了增大成功率,他允许Simon在分好段之后任意地交换其中的两段,这个操作不是必须的,且最多进行一次。
现在,Simon希望知道他是否有可能完成这个任务。
输入描述:
第一行包括两个正整数 n (1 ≤ n ≤ 1000000)和 k (1 ≤ k ≤ n)。
第二行包括 n 个正整数 a1, a2, ..., an,数据保证 a 是一个1至n的排列。ai表示第i个Ganmen的编号。
输出描述:
一行,如果有解输出“Yes”,无解输出“Poor Simon”,不包括引号。
示例1
输入
复制
10 3
10 9 8 7 5 6 4 3 2 1