1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
#include<bits/stdc++.h>
using namespace std;
int countt(int tmp)
{
    int counter = 0;
    while(tmp != 0){
        if(tmp & 1)
            counter++;
        tmp /= 2;
    }
    return counter;
}
void init()
{
    vector<int> values;
    for(int letter = 97; letter <= 122; letter++){
        cout<<(char)letter<<": "<<countt(letter)<<endl;
        values.push_back(countt(letter));
    }
    /*sort(values.begin(),values.end());
    //for(auto cur : values) cout<<cur<<" ";
    vector<int>::iterator it = unique(values.begin(),values.end());
    for(vector<int>::iterator i = values.begin(); i < it; i++){
        cout<<*i<<" ";
    }*/
}

char printLetter(int bitCount)
{
    switch(bitCount)
    {
    case 3:
        return 'a';
    case 4:
        return 'c';
    case 5:
        return 'k';
    case 6:
        return 'w';
    default:
        return '0';
    }
}
bool chceck(int sum, int n, int mod)
{
    if(sum % mod == 0 && sum / mod == n){
        while(sum != 0){
            cout<<printLetter(mod);
            sum -= mod;
        }
        return true;
    }
    return false;
}
bool cout_a_b(int x, int y, int z, int n, int & a, int & b)
{
    if((n-y-z + 4*n) % 2 == 1)
        return false;
    b = (n-y-z)/2;
    a = n - y - z - 2*b;
    return true;
}
int main()
{

    //warunki
    //bitSum = a * 3 + b * 4 + c * 5 + d * 6 = a * 3 + 2b * 2 + c * 5 + 2d * 3 = (a+2d) * 3 + 2b * 2 + c * 5
    //a + b + c + d = n
    //init();
    //cout<<endl;
    int n;
    string data;

    cin>>n;
    cin>>data;
    int bitSum= 0;
    for(int i = 0; i < data.size(); i++){
        if(data[i] == '1')
            bitSum++;
    }
    /*int try_nb[4] = {3,4,5,6};
    for(int i = 0; i < 4; i++){
        if(chceck(bitSum,n,try_nb[i]))
            return 0;
    }*/
    int w,x;
    for(int z = 0; z <= n; z++){
        for(int y = 0; y <= n; y++){
           x = bitSum - 3*n - 2*y - 3*z;
           if( x>=0 ){
                w = n - x - y - z;
                if(w >= 0){
                    for(int i = 0; i < w; i++)cout<<printLetter(3);
                    for(int i = 0; i < x; i++)cout<<printLetter(4);
                    for(int i = 0; i < y; i++)cout<<printLetter(5);
                    for(int i = 0; i < z; i++)cout<<printLetter(6);
                    cout<<endl;
                    return 0;
                }
           }
        }
    }
    cout<<"NIE\n";
    return 0;




}