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
#include <stdio.h>
#include <strings.h>
#include <stdlib.h>

int main() {

        long long k;
        int i,n;
        char s[1002000],l;

        scanf("%d %Ld", &n, &k);
        k--;

        for (i=0; i<n; ++i) {
                s[n-i-1] = k % 2;
                k /= 2;
        }

        if (k>1 || (k==1 && s[0] ==1)) { printf("NIE\n"); return 0;     }
        l = 2;
        i = 0;
        if (k) { printf("c"); i++; }
        for (;i<n; i++) {
                if (l==0) {
                        if (!s[i]) { printf("b"); l=1; } else { printf("c"); l=2; }
                } else if (l==1) {
                        if (!s[i]) { printf("a"); l=0; } else { printf("c"); l=2; }
                } else if (l==2) {
                        if (!s[i]) { printf("a"); l=0; } else { printf("b"); l=1; }
                }

        }
        printf("\n");

        return 0;

}