Jerseys | 프로그래밍의 벗 PivotOJ
PivotOJ

Jerseys

시간 제한: 1000ms메모리 제한: 256MB출처: CCC 2015 SeniorBOJ 10774

문제

A school team is trying to assign jerseys numbered 1, 2, 3, . . . , J to student athletes. The size of each jersey is either small (S), medium (M) or large (L).

Each athlete has requested a specific jersey number and a preferred size. The athletes will not be satisfied with a jersey that is the wrong number or that is smaller than their preferred size. They will be satisfied with a jersey that is their preferred size or larger as long as it is the right number. Two students cannot be given the same jersey.

Your task is to determine the maximum number of requests that can be satisfied.

입력

The first line of input is the integer J which is the number of jerseys.

The second line of input is the integer A which is the number of athletes.

The next J lines are each the character S, M or L. Line j gives the size of jersey j (1 ≤ j ≤ J).

The last A lines are each the character S, M or L followed by a space followed by an integer. Line a (1 ≤ a ≤ A) gives the requested size and jersey number for athlete a where the athletes are numbered 1, 2, 3, . . . , A.

For 50% of the test cases, 1 ≤ J ≤ 103 and 1 ≤ A ≤ 103.

For the remaining 50% of the test cases, 1 ≤ J ≤ 106 and 1 ≤ A ≤ 106.

출력

The output will consist of a single integer which is the maximum number of requests that can be satisfied.

힌트

Jersey 1 cannot be assigned because it is medium and athlete 3 requested large. No athlete requested jersey 2 or 4. Jersey 3 (small) can be assigned athlete 2 (small) but not athlete 1 (large).

예제

예제 1

입력
4
3
M
S
S
L
L 3
S 3
L 1
출력
1
코드를 제출하려면 로그인하세요.