#include <bits/stdc++.h>
#define int long long
using namespace std;

main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int t , n , k , m = 0 , p = 0;
    bool jednaki = true , jedanminus = true;
    cin>>t>>n>>k;
    vector<int>v(n);
    for(int i = 0; i<n; i++){
        cin>>v[i];
        if(v[i] == 1)p++;
        if(v[i] == -1)m++;
        if(i != 0 && v[i-1] != v[i]){jednaki = false;}
        if(v[i] != 1 || v[i] != -1){jedanminus = false;}

    }
    sort(v.begin() , v.end());

    if(jednaki){
//        int ai = v[0];
//        int res;
//        if(ai >= 0) res = min (n , ai);
//        if(ai < 0) res = max (-n , ai);
//
//        if(ai >= 0 && res < n)res += (n-ai)%2;
//        if(ai < 0 && res > n)res += (n+ai)%2;
//
//        if(res != k){
//            cout<<"NE";
//        }else{
//            cout<<"DA\n";
//            if(t = 1){
//                for(int i = 0 ;i < n ; i++){
//                    cout<<v[i]<<" ";
//                }
//            }
//        }
        int br = 0;
        for(int i = 0; i<n; i++){
            if(v[i] >= br) br++;
            else br--;
        }
        if(res != k){
            cout<<"NE";
        }else{
            cout<<"DA\n";
            if(t = 1){
                for(int i = 0 ;i < n ; i++){
                    cout<<v[i]<<" ";
                }
            }
        }


        return 0;
    }
    if(jedanminus){
        if(k<-1 || k>1){
            cout<<"NE";
            return 0;
        }

        if(k == 0){
            if(m>0 && p>0){
                cout<<"DA\n";
                if(t == 1){
                    if(m>p){
                        for(int i = 0; i < m-p; i++){
                            cout<<"-1 ";
                        }
                        for(int i = 0; i < p; i++){
                            cout<<"-1 1 ";
                        }
                    }else{
                        for(int i = 0; i < p-m; i++){
                            cout<<"1 ";
                        }
                        for(int i = 0; i < m; i++){
                            cout<<"1 -1 ";
                        }
                    }
                }
            }else{
                cout<<"NE";
            }
            return 0;
        }else if(k == 1){
            if((m>0 && p<2) || p<1){
                cout<<"NE";
            }else{
                cout<<"DA\n";
                if(t == 1){
                    for(int i = 0; i < n; i++){
                        cout<<v[i]<<" ";
                    }
                }
            }
            return 0;
        }else if (k == -1){
            if((p>0 && m<2) || m<1){
                cout<<"NE";
            }else{
                cout<<"DA\n";
                if(t == 1){
                    for(int i = n-1; i >= 0; i--){
                        cout<<v[i]<<" ";
                    }
                }
            }
            return 0;
        }


    }
    if(true){
        if(k > n || k < (n+1)%2 + 1){
            cout<<"NE";
            return 0;
        }else {

        }
    }
}