CF1225G.To Make 1

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There are nn positive integers written on the blackboard. Also, a positive number k2k \geq 2 is chosen, and none of the numbers on the blackboard are divisible by kk . In one operation, you can choose any two integers xx and yy , erase them and write one extra number f(x+y)f(x + y) , where f(x)f(x) is equal to xx if xx is not divisible by kk , otherwise f(x)=f(x/k)f(x) = f(x / k) .

In the end, there will be a single number of the blackboard. Is it possible to make the final number equal to 11 ? If so, restore any sequence of operations to do so.

输入格式

The first line contains two integers nn and kk — the initial number of integers on the blackboard, and the chosen number ( 2n162 \leq n \leq 16 , 2k20002 \leq k \leq 2000 ).

The second line contains nn positive integers a1,,ana_1, \ldots, a_n initially written on the blackboard. It is guaranteed that none of the numbers aia_i is divisible by kk , and the sum of all aia_i does not exceed 20002000 .

输出格式

If it is impossible to obtain 11 as the final number, print "NO" in the only line.

Otherwise, print "YES" on the first line, followed by n1n - 1 lines describing operations. The ii -th of these lines has to contain two integers xix_i and yiy_i to be erased and replaced with f(xi+yi)f(x_i + y_i) on the ii -th operation. If there are several suitable ways, output any of them.

输入输出样例

  • 输入#1

    2 2
    1 1
    

    输出#1

    YES
    1 1
    
  • 输入#2

    4 3
    7 8 13 23
    

    输出#2

    YES
    23 13
    8 7
    5 4
    
  • 输入#3

    3 4
    1 2 3
    

    输出#3

    NO
    

说明/提示

In the second sample case:

  • f(8+7)=f(15)=f(5)=5f(8 + 7) = f(15) = f(5) = 5 ;
  • f(23+13)=f(36)=f(12)=f(4)=4f(23 + 13) = f(36) = f(12) = f(4) = 4 ;
  • f(5+4)=f(9)=f(3)=f(1)=1f(5 + 4) = f(9) = f(3) = f(1) = 1 .
首页