문자열 구성하기

시간 제한1초메모리 제한999 MB

요약
길이 $N$과 정수 $K$가 주어질 때 $f(S)=K$인 문자열 $S$를 구성하거나 불가능함을 판정한다.
난이도

쉬움10점 중 1점

유형
문자열, 구현, 수학
정답자
아직 제출이 없습니다

문제

어떤 문자열 ss에 대해 s′s^{\prime}은 ss를 뒤집은 문자열이다. 두 문자열 pp와 qq에 대해 p+qp+q는 두 문자열을 차례로 이어 붙인 문자열이다.

길이 NN의 알파벳 소문자로만 이루어진 문자열 SS에 대해 길이 ii의 접두사를 A_iA\_i, 길이 ii의 접미사를 B_iB\_i라고 하자. f(S)f(S)는 A′_i+B_N−i=A_i+B′_N−iA^{\prime}\_i + B\_{N-i} = A\_i + B^{\prime}\_{N-i}을 만족하는 i(1≤i<N)i(1 \leq i < N)의 개수로 정의한다.

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

입력

첫째 줄에 NN과 KK가 공백으로 구분되어 주어진다. (2≤N≤200,000(2 \leq N \leq 200\\,000; 0≤K<N)0 \leq K < N)

출력

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

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

힌트

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

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

예제3

  1. 예제 1

    입력
    6 4
    
    예상 출력
    No
    
  2. 예제 2

    입력
    6 1
    
    예상 출력
    Yes
    gggkik
    
  3. 예제 3

    입력
    7 6
    
    예상 출력
    Yes
    aaaaaaa