CF641E.Little Artem and Time Machine

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Little Artem has invented a time machine! He could go anywhere in time, but all his thoughts of course are with computer science. He wants to apply this time machine to a well-known data structure: multiset.

Artem wants to create a basic multiset of integers. He wants these structure to support operations of three types:

  1. Add integer to the multiset. Note that the difference between set and multiset is that multiset may store several instances of one integer.
  2. Remove integer from the multiset. Only one instance of this integer is removed. Artem doesn't want to handle any exceptions, so he assumes that every time remove operation is called, that integer is presented in the multiset.
  3. Count the number of instances of the given integer that are stored in the multiset.

But what about time machine? Artem doesn't simply apply operations to the multiset one by one, he now travels to different moments of time and apply his operation there. Consider the following example.

  • First Artem adds integer 55 to the multiset at the 11 -st moment of time.
  • Then Artem adds integer 33 to the multiset at the moment 55 .
  • Then Artem asks how many 55 are there in the multiset at moment 66 . The answer is 11 .
  • Then Artem returns back in time and asks how many integers 33 are there in the set at moment 44 . Since 33 was added only at moment 55 , the number of integers 33 at moment 44 equals to 00 .
  • Then Artem goes back in time again and removes 55 from the multiset at moment 33 .
  • Finally Artyom asks at moment 77 how many integers 55 are there in the set. The result is 00 , since we have removed 55 at the moment 33 .

Note that Artem dislikes exceptions so much that he assures that after each change he makes all delete operations are applied only to element that is present in the multiset. The answer to the query of the third type is computed at the moment Artem makes the corresponding query and are not affected in any way by future changes he makes.

Help Artem implement time travellers multiset.

输入格式

The first line of the input contains a single integer nn ( 1<=n<=1000001<=n<=100000 ) — the number of Artem's queries.

Then follow nn lines with queries descriptions. Each of them contains three integers aia_{i} , tit_{i} and xix_{i} ( 1<=ai<=31<=a_{i}<=3 , 1<=ti,xi<=1091<=t_{i},x_{i}<=10^{9} ) — type of the query, moment of time Artem travels to in order to execute this query and the value of the query itself, respectively. It's guaranteed that all moments of time are distinct and that after each operation is applied all operations of the first and second types are consistent.

输出格式

For each ask operation output the number of instances of integer being queried at the given moment of time.

输入输出样例

  • 输入#1

    6
    1 1 5
    3 5 5
    1 2 5
    3 6 5
    2 3 5
    3 7 5
    

    输出#1

    1
    2
    1
    
  • 输入#2

    3
    1 1 1
    2 2 1
    3 3 1
    

    输出#2

    0
    
首页