문제
Bessie is learning to code using a simple programming language. She first defines a valid program, then executes it to produce some output sequence.
Defining: A program is a nonempty sequence of statements.A statement is either of the form "PRINT " where is an integer, or "REP ", followed by a program, followed by "END," where is an integer that is at least 1. Executing: Executing a program executes its statements in sequence.Executing the statement "PRINT " appends to the output sequence.Executing a statement starting with "REP " executes the inner program a total of times in sequence.
An example of a program that Bessie knows how to write is as follows.
REP 3 PRINT 1 REP 2 PRINT 2 END END
The program outputs the sequence .
Bessie wants to output a sequence of () positive integers. Elsie challenges her to use no more than () "PRINT" statements. Note that Bessie can use as many "REP" statements as she wants. Also note that each positive integer in the sequence is no greater than .
For each of () independent test cases, determine whether Bessie can write a program that outputs some given sequence using at most "PRINT" statements.
입력
The first line contains .
The first line of each test case contains two space-separated integers, and .
The second line of each test case contains a sequence of space-separated positive integers, each at most , which is the sequence that Bessie wants to produce.
출력
For each test case, output "YES" or "NO" (case sensitive) on a separate line.
예제 입력 1
2
1 1
1
4 1
1 1 1 1
예제 출력 1
YES
YES
예제 입력 2
11
4 2
1 2 2 2
4 2
1 1 2 1
4 2
1 1 2 2
6 2
1 1 2 2 1 1
10 2
1 1 1 2 2 1 1 1 2 2
8 3
3 3 1 2 2 1 2 2
9 3
1 1 2 2 2 3 3 3 3
16 3
2 2 3 2 2 3 1 1 2 2 3 2 2 3 1 1
24 3
1 1 2 2 3 3 3 2 2 3 3 3 1 1 2 2 3 3 3 2 2 3 3 3
9 3
1 2 2 1 3 3 1 2 2
6 3
1 2 1 2 2 3
예제 출력 2
YES
NO
YES
NO
YES
YES
YES
YES
YES
NO
NO
점수
Input 3: Inputs 4-7: Inputs 8-13: No additional constraints.
코드를 제출하려면 로그인이 필요합니다.
로그인