1655: 序列划分

内存限制:512 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:17 通过:1

题目描述

梦想从几时开始,命运在何处终结? 

有一个长度为 {a1, a2, a3, ...,an} 的整数序列 。

你的任务是判断是否可以将其划分为 k  的倍数个非空子序列,使得每个元素在恰一个子序列中出现,同时每个子序列均以 k 的倍数开头、 k的倍数结尾,并且长度也为  k的倍数。若能划分,求出任意一个方案。

序列 {a1, a2, ..., an} 的一个子序列是指将任意多个(可以为  0个)元素删除后,将其他元素按照原序列中的顺序拼接而成的序列。例如,序列{9,8,7} 、序列{7}  和序列 {9,8,7,6,5} 均为序列{9,8,7,6,5}  的子序列,但 {7,9,8} 不是。 

输入格式



输入的第一行包含一个整数 T —— 表示子任务编号(与「数据范围与提示」中编号相同,样例的子任务编号为 0 )。 

第二行包含两个空格分隔的正整数 n , k  —— 序列 a 的长度和 k的值。 

第三行包含 n 个空格分隔的正整数 a1, a2, ..., an  —— 依次表示序列 a 的元素。 


输出格式



输入样例 复制

0
6 2
2 1 2 2 1 2

输出样例 复制

Yes
2
4 1 2 5 6
2 3 4

数据范围与提示