#include <stdio.h>
int main(void){
// 패티 수, 치즈 수 입력
int a = 0, b = 0;
scanf("%d %d", &a, &b);
// 불가능 조건
// 1. 패티가 치즈 수보다 작거나 같을 경우
// 2. 치즈의 2배가 패티 수보다 작을 경우
if( (a <= b) || (a > (2*b)) ){
printf("NO\n");
}
// 가능 조건
else{
printf("YES\n");
// 만들 수 있는 버거 개수 구하기
int gap = a - b;
int count = 0;
while(gap != 1){
count++;
a -= 2;
b -= 1;
gap = a - b;
}
// 버거 개수 출력
printf("%d\n", count+1);
// 최소 버거 형태 count 만큼 출력
for(int i = 0; i < count; i++){
printf("aba\n");
}
// 마지막 버거 형태 출력
while((a != 0) || (b != 0)){
if(a != 0){
printf("a");
a--;
}
if(b != 0){
printf("b");
b--;
}
}
printf("\n");
}
return 0;
}