문자열 구성하기

문제

어떤 문자열 s에 대해 ss를 뒤집은 문자열이다. 두 문자열 pq에 대해 p+q는 두 문자열을 차례로 이어 붙인 문자열이다.

길이 N의 알파벳 소문자로만 이루어진 문자열 S에 대해 길이 i의 접두사를 Ai, 길이 i의 접미사를 Bi라고 하자. f(S)Ai+BNi=Ai+BNi을 만족하는 i(1i<N)의 개수로 정의한다.

NK가 주어질 때, f(S)=K인 문자열 S를 구해보자.

입력

첫째 줄에 NK가 공백으로 구분되어 주어진다. (2N200000; 0K<N)

출력

첫째 줄에 f(S)=K인 문자열 S가 존재한다면 Yes, 아니라면 No를 출력한다.

만약 S가 존재한다면 둘째 줄에 가능한 S를 아무거나 하나 출력한다.

힌트

문자열 S의 길이 i의 접두사는, S의 앞에서부터 i개를 순서대로 이어붙인 문자열이다. 예를 들어 abcde의 길이 3의 접두사는 abc이다.

문자열 S의 길이 i의 접미사는, S의 뒤에서부터 i개를 순서대로 이어붙인 문자열이다. 예를 들어 abcde의 길이 2의 접미사는 de이다.

예제 입력 1 복사

6 4

예제 입력 2 복사

6 1

예제 입력 3 복사

7 6

예제 출력 1 복사

No

예제 출력 2 복사

Yes
gggkik

예제 출력 3 복사

Yes
aaaaaaa