햄버거

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

요약
문자열이 양 끝이 빵이고 인접한 재료가 다르며 각 재료의 보유량을 넘지 않는 올바른 햄버거인지 판별한다.
난이도

쉬움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는 토마토를 의미한다.

출력

haru_101이 만들 햄버거가 맛있는 햄버거라면 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
  • A,B,C,DA, B, C, D는 음이 아닌 정수

예제2

  1. 예제 1

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

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