Tengen Toppa Gurren Lagann
题号: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

输出

复制
Yes
示例2

输入

复制
5 5
1 2 3 4 5

输出

复制
Yes
示例3

输入

复制
5 2
4 1 5 2 3

输出

复制
Poor Simon