만드는 중입니다

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

햄버거

면접 대비

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

요약
문자열 S가 주어진 재료로 만들 수 있는 햄버거인지 판별합니다. 양 끝이 빵이고 인접한 재료가 같지 않으며, 각 재료 개수가 A, B, C, D를 넘지 않아야 합니다.
난이도

쉬움10점 중 2점

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

문제

haru_101은 같은 종류의 빵 AA개, 패티 BB개, 양상추 CC개, 토마토 DD개를 가지고 있다. 아래 조건을 만족하도록 재료를 쌓은 것을 맛있는 햄버거라고 부른다.

  • 재료는 아래에서 위로 쌓는다.
  • 가장 아래와 가장 위의 재료는 모두 빵이어야 한다.
  • 인접한 재료는 같을 수 없다.
  • 모든 재료를 쓸 필요는 없지만, 가진 재료로만 햄버거를 만들어야 한다.

haru_101은 만들고 싶은 햄버거를 문자열 SS로 나타냈다. 이 햄버거가 맛있는 햄버거인지 판별하는 프로그램을 작성하라.

입력

첫 번째 줄에 문자열 SS의 길이를 나타내는 정수 NN이 주어진다.

두 번째 줄에 정수 AA, BB, CC, DD가 공백으로 구분되어 주어진다.

세 번째 줄에 알파벳 소문자 a, b, c, d만으로 이루어진 문자열 SS가 주어진다. SS의 가장 왼쪽 문자는 가장 아래에 있는 재료를, 가장 오른쪽 문자는 가장 위에 있는 재료를 뜻한다. a는 빵, b는 패티, c는 양상추, d는 토마토이다.

출력

SS로 만든 햄버거가 맛있는 햄버거이면 Yes를, 아니면 No를 출력한다.

제한

  • 1≤N≤100 0001 \leq N \leq 100\,000
  • 1≤A+B+C+D≤100 0001 \leq A+B+C+D \leq 100\,000
  • AA, BB, CC, DD는 음이 아닌 정수이다.

예제2

  1. 예제 1

    입력
    5
    2 1 1 1
    abdca
    
    예상 출력
    Yes
    
  2. 예제 2

    입력
    2
    2 2 1 0
    aa
    
    예상 출력
    No