# 문자열 구성하기

## 문제

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

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

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

## 입력

첫째 줄에 N과 K가 공백으로 구분되어 주어진다. (2≤N≤200 000; 0≤K<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