Statement
민환이는 호반우를 찾는 퍼즐 게임을 하고 있다.
이 게임에는 길이가 인 문자열 가 주어진다.
민환이는 문자열 에서 부분 수열 호반우를 만들려고 한다. 문자열 의 부분 수열이란, 에서 몇 개의 문자를 지우되 남은 문자들의 상대적인 순서는 그대로 유지하여 만든 문자열이다. 문자를 하나도 지우지 않는 것도 가능하다.
민환이가 만들 문자열은 hobanwoo를 기본 형태로 가진다. 단, hobanwoo의 각 문자는 같은 문자끼리만 연속해서 더 이어 붙일 수 있다.
즉 민환이가 만들 수 있는 부분 수열 문자열은 h+o+b+a+n+w+o+o+ 형태여야 한다.
여기서 +는 정규식에서 바로 앞 문자가 1번 이상 연속해서 등장함을 의미한다. 따라서 각 문자는 한 번 이상 등장해야 하며, 같은 문자만 연속해서 반복될 수 있다.
예를 들어, 아래는 호반우 부분 수열 문자열이다.
hobanwoooohhobbaanwwwoo
아래는 호반우 부분 수열 문자열이 아니다.
hobanwobanwooho
각 문자 를 선택하면 점수 를 얻는다. 단, 점수는 h, o, b, a, n, w에 대해서만 주어진다.
민환이는 문자열 의 부분 수열 중 위 조건을 만족하는 것을 하나 골라 얻는 점수의 합을 최대화하려고 한다.
조건을 만족하는 부분 수열을 만들 수 있는지 판별하고, 만들 수 있다면 얻을 수 있는 최대 점수를 구해보자.
Input
첫 번째 줄에 문자열의 길이 이 주어진다. ()
두 번째 줄에 길이 의 문자열 가 주어진다. 는 알파벳 소문자로만 이루어져 있다.
Output
조건을 만족하는 부분 수열을 만들 수 없다면 No를 출력한다.
조건을 만족하는 부분 수열을 만들 수 있다면 첫 번째 줄에 Yes를 출력하고, 두 번째 줄에 얻을 수 있는 최대 점수를 출력한다.