해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
Petya에게는 영문 소문자와 대문자 및 숫자로 구성된 길이 n의 문자열이 있다.
그는 m개의 연산을 수행한다. 각 연산은 두 정수 l와 r, 그리고 문자 c로 설명된다. Petya는 문자열에서 l 이상 r 이하의 위치에 있는 모든 문자 c를 제거한다. 각 연산 후 문자열의 길이가 그대로이거나 감소한다는 것은 자명하다.
Petya가 m개의 연산을 모두 수행한 후 문자열이 어떤 모습일지 구한다.
첫 번째 줄에는 두 정수 n와 m (1 ≤ n, m ≤ 2·105)가 주어진다. 이는 문자열의 길이와 연산의 개수이다.
두 번째 줄에는 영문 소문자와 대문자 및 숫자로 구성된 길이 n의 문자열이 주어진다. 문자열의 위치에는 1부터 번호가 매겨진다.
이어지는 m개의 각 줄에는 두 정수 l와 r (1 ≤ l ≤ r)가 주어지고, 그 뒤에 영문 소문자, 영문 대문자 또는 숫자인 문자 c가 주어진다. 이 줄은 하나의 연산을 설명한다. r가 현재 연산 전 문자열 s의 길이를 초과하지 않는다는 것이 보장된다.
Petya가 m개의 연산을 모두 수행한 후 얻게 되는 문자열을 출력한다. 모든 연산 후 문자열이 빈 문자열이 되면 빈 줄을 출력한다.
3 2
A0z
1 3 0
1 1 z
Az
10 4
agtFrgF4aF
2 5 g
4 9 F
1 5 4
1 7 a
tFrg4
4 2
abac
1 3 a
2 2 c
b
첫 번째 예제에서는 첫 번째 연산 중 두 문자 'a'가 모두 제거되므로 문자열은 "bc"가 된다. 두 번째 연산 중에는 문자 'c'(두 번째 위치)가 제거되어 문자열은 "b"가 된다.
두 번째 예제에서는 첫 번째 연산 중 Petya가 두 번째 위치의 '0'을 제거한다. 그 후 문자열은 "Az"가 된다. 두 번째 연산 중에는 문자열이 바뀌지 않는다.