#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define pb push_back
#define ll long long
#define mp make_pair
#define ld long double
const int N=2e5+50;
struct BIT{
    int T[2*N];
    void Update(int i,int x){for(i+=N;i<2*N;i+=i&-i)T[i]+=x;}
    int Get(int i){int x=0;for(i+=N;i>=1;i-=i&-i)x+=T[i];return x;}
    int Get(int l,int r){return Get(r)-Get(l-1);}
}bt;
int Calc(vector<int>a){
    int x=0;
    for(auto i:a){
        if(x<=i)x++;
        else x--;
    }
    return x;
}
int main(){
    int t;scanf("%i",&t);
    int n,k;scanf("%i%i",&n,&k);
    int a[n+5];
    for(int i=1;i<=n;i++)scanf("%i",&a[i]);
    sort(a+1,a+n+1);
    vector<int>res;
    for(int i=1;i<=n;i++){
        vector<int>b;
        for(int j=i;j<=n;j++)b.pb(a[j]);
        for(int j=i-1;j>=1;j--)b.pb(a[j]);
        if(Calc(b)==k)res=b;
    }
    if(res.size()){
        printf("DA\n");
        for(auto i:res)printf("%i ",i);printf("\n");
    }
    else printf("NE\n");
    return 0;
}