만드는 중입니다

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

은행 대기열

면접 대비

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

요약
사람이 줄에 들어오고 맨 앞 사람이 나가는 상황에서, 주어진 위치 앞에 기분이 x 이상인 사람이 몇 명인지 구합니다.
난이도

보통10점 중 4점

유형
배열, 누적 합
정답자
아직 제출이 없습니다

문제

스크루지는 최근 은행에서 경비원으로 일하게 되었다. 일이 지루해서 그는 대기열을 지켜보기 시작했다. 처음에 대기열에는 nn명이 서 있다. 스크루지는 몇 년 동안 심리학자로 일했기 때문에 대기열에 있는 각 사람의 기분을 꽤 정확하게 판단할 수 있다. 그는 앞에서부터 0번부터 번호를 붙였으므로, 사람의 번호는 그 앞에 서 있는 사람의 수와 같다. ii번째 사람의 기분은 음이 아닌 정수 aia_i로 적는다. 기분이 xx 이상이면 좋은 기분, 그렇지 않으면 나쁜 기분이라고 본다.

사람들은 대기열에 들어오고 나간다. 새 사람이 들어오면 스크루지는 즉시 그 사람의 기분을 판단하며, 시간이 지나도 기분은 바뀌지 않는다.

스크루지는 새로운 소일거리를 찾았다. 특정 시점에 대기열에서 한 사람을 고른 뒤, 그 사람 앞에 좋은 기분의 사람이 몇 명 서 있는지 센다. 그는 이 일이 재미있어서 자동화하고 싶어 한다. 스크루지는 프로그래밍에 능하지 않아서 여러분에게 도움을 청했다. 도와주자!

입력

첫 줄에 두 정수 nn, xx가 주어진다 (1≤n≤100 0001 \le n \le 100\,000, 0≤x≤1090 \le x \le 10^9). 각각 처음 대기열의 인원 수와 좋은 기분의 하한이다.

둘째 줄에는 대기열에 있는 nn명의 기분 aia_i가 주어진다 (0≤ai≤1090 \le a_i \le 10^9).

셋째 줄에는 사건의 수 mm이 주어진다 (1≤m≤100 0001 \le m \le 100\,000). 이어지는 mm개의 줄에는 다음 중 하나의 사건이 한 줄씩 주어진다.

1 aa (0≤a≤1090 \le a \le 10^9): 기분이 aa인 사람이 대기열 맨 뒤에 들어온다.

2: 앞에 아무도 없는 사람(번호 0)이 대기열에서 나간다. 그 후 스크루지는 모든 사람의 번호를 1씩 줄인다.

3 ii: 이 시점에 앞에 ii명이 서 있는 사람의 앞에 좋은 기분의 사람이 몇 명 서 있는지 스크루지가 묻는다.

모든 질의는 올바르다. 대기열이 비어 있으면 2번 사건은 수행되지 않는다. 3번 질의의 ii는 항상 현재 대기열의 인원 수보다 작다.

출력

3번 질의마다, 주어진 번호의 사람 앞에 서 있는 좋은 기분의 사람 수를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    1 2
    3
    5
    1 2
    1 1
    3 0
    3 1
    3 2
    
    예상 출력
    0
    1
    2
    
  2. 예제 2

    입력
    2 2
    1 2
    7
    3 0
    3 1
    2
    3 0
    1 3
    3 0
    3 1
    
    예상 출력
    0
    0
    0
    0
    1