만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

문자열 게임

면접 대비

시간 제한2초메모리 제한1024 MB

요약
s의 길이 k인 부분 문자열 중 글자 빈도를 t의 문자로 채울 수 있는 것이 있는지 확인합니다.
난이도

보통10점 중 4점

유형
슬라이딩 윈도우, 문자열, 해시맵
정답자
아직 제출이 없습니다

문제

크라토스와 아트레우스는 긴 여행 뒤에 쉬다가 게임을 하기로 했다. 게임을 시작하려면 처음에 각 플레이어가 길이가 정확히 kk인 문자열을 가지고 있어야 하며, 두 문자열은 서로 같아야 한다. 두 사람은 각자 문자열을 하나씩 가지고 있는데, 이 문자열들로 게임을 시작할 수 있는 적절한 문자열을 만들 수 있을지 궁금해졌다.

크라토스는 몹시 지쳐서, 도끼로 원래 문자열 ss에서 길이가 kk인 부분 문자열을 하나 잘라내기로 했다. 아트레우스는 아직 힘이 넘쳐서, 문자열 tt에서 임의의 kk개의 문자를 잘라낸 뒤 원하는 순서로 다시 이어 붙일 수 있다고 생각했다.

두 사람이 게임을 시작할 수 있을지, 아니면 계획을 포기해야 할지 알려 달라.

입력

첫 줄에 정수 kk가 주어진다. 이는 게임에 필요한 문자열의 길이이며, 1≤k≤3⋅1051 \le k \le 3 \cdot 10^5이다. 다음 두 줄에는 각각 크라토스의 문자열 ss와 아트레우스의 문자열 tt가 주어진다. 두 문자열은 비어 있지 않으며, 소문자 라틴 알파벳으로만 이루어져 있고, 길이는 3⋅1053 \cdot 10^5를 넘지 않는다.

출력

두 사람이 게임을 시작할 수 있는 문자열을 만들 수 있으면 YES를, 그렇지 않으면 NO를 출력한다.

예제1

  1. 예제 1

    입력
    3
    aba
    bbaa
    
    예상 출력
    YES