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
#include<cstdio>

using namespace std;

char findLetter(int val) {
    if (val == 3) {
        return 'a';
    } else if (val == 4) {
        return 'c';
    } else if (val == 5) {
        return 'g';
    } else if (val == 6) {
        return 'o';
    } else {
        return '!';
    }
}

void printLetters(int val, int number) {
    char letter = findLetter(val);
    for (int i = 0; i < number; i++) {
        printf("%c", letter);
    }
}

int main() {
    int lettersNum;
    scanf("%d\n", &lettersNum);

    int onesNum = 0;
    for (int i = 0; i < 8 * lettersNum; i++) {
        char bit;
        scanf("%c", &bit);

        if (bit == '1') {
            onesNum++;
        }
    }

    if (onesNum < 3 * lettersNum || onesNum > 6 * lettersNum) {
        printf("NIE\n");
    } else {
        int baseVal = onesNum/lettersNum;
        int increasedNum = onesNum % lettersNum;
        int baseNum = lettersNum - increasedNum;

        printLetters(baseVal, baseNum);
        printLetters(baseVal + 1, increasedNum);
        printf("\n");
    }

    return 0;
}