F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Cake

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 3526    Accepted Submission(s): 773
Special Judge


Problem Description
There are $m$ soda and today is their birthday. The $1$-st soda has prepared $n$ cakes with size $1, 2, \dots, n$. Now $1$-st soda wants to divide the cakes into $m$ parts so that the total size of each part is equal.

Note that you cannot divide a whole cake into small pieces that is each cake must be complete in the $m$ parts. Each cake must belong to exact one of $m$ parts.
 

Input
There are multiple test cases. The first line of input contains an integer $T$, indicating the number of test cases. For each test case:

The first contains two integers $n$ and $m$ $(1 \le n \le 10^5, 2 \le m \le 10)$, the number of cakes and the number of soda.
It is guaranteed that the total number of soda in the input doesnĄ¯t exceed 1000000. The number of test cases in the input doesnĄ¯t exceed 1000.
 

Output
For each test case, output "YES" (without the quotes) if it is possible, otherwise output "NO" in the first line.

If it is possible, then output $m$ lines denoting the $m$ parts. The first number $s_i$ of $i$-th line is the number of cakes in $i$-th part. Then $s_i$ numbers follow denoting the size of cakes in $i$-th part. If there are multiple solutions, print any of them.
 

Sample Input
4 1 2 5 3 5 2 9 3
 

Sample Output
NO YES 1 5 2 1 4 2 2 3 NO YES 3 1 5 9 3 2 6 7 3 3 4 8
 

Author
zimpha@zju
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-04-26 01:33:52, Gzip enabled