P6887 [CEOI 2006] Queue
Description
If you are an average football fan, you probably know that obtaining tickets for this year's World Cup in
Germany was an almost impossible task. Greedy organizers and football federations grabbed the majority of
available tickets and divided them among sponsors, friends and family members. As a result, jet setters have
flooded the venues, while die-hard fans sit at home enjoying the games between advertisements featuring crappy
beer and sugar-free chewing gum.
A couple of tickets are left for the final game and a huge queue has formed in front of the ticket office. As fans
were arriving, they were labeled with successive integers. The first person in queue was labeled with number one,
the second with number two, etc.
Since the fans arrived the night before, they had to wait for a long time before the ticket counter was open and,
naturally, some of them had to use the restroom. Each time a person needs to use the restroom, he/she steps
out of the queue and, after completing the task, steps back into the queue, though not necessarily at the same
position as before. Since there is only one restroom available, no person leaves the queue before the previous
person has returned (hence, at any moment there is at most one person missing from the queue).
During the course of the night, a total of N restroom visits have occurred. Each visit is described by two positive
integers A and B, denoting that the person labeled **A stepped out of the queue** and then stepped back into the
queue **immediately in front of the person labeled B**. Now that all the visits have completed, the officials have
to answer a series of questions. Each question is either of the form 'P X', asking for **the position of the person
labeled X**, or of the form 'L X', asking for **the label of the person at position X**.
The first person in queue is considered to be at position one, the second at position two, etc.
Write a program that, given the description of the visits and a number of questions, **answers all of the
questions**.
Input Format
The first line of input contains an integer N (2 ≤ N ≤ 50 000) – the total number of restroom visits.
Each of the following N lines contains two different integers A and B (1 ≤ A, B ≤ 109), describing one restroom
visit. The next line contains an integer Q (1 ≤ Q ≤ 50 000) – the total number of questions.
Each of the following Q lines contains a single character (either the uppercase letter 'P' or the uppercase letter
'L') and an integer X (1 ≤ X ≤ 109), describing one question.
Output Format
The output should consist of a total of Q lines.
The ith line of output should contain a single integer R – the answer to the ith question.
If the corresponding question is of the form 'P Xi' then R should be the final position of the person labeled Xi.
If the corresponding question is of the form 'L Xi' then R should be the label of the person at position Xi.
Explanation/Hint
Partial credit is awarded for incorrect solutions that correctly answer all questions of one type. If all questions of
the form 'P X' are answered correctly or if all questions of the form 'L X' are answered correctly, you will receive
50% of the points for the corresponding test case.
In order to receive partial credit, the output should be formatted according to the specifications. Therefore, even
if you choose to answer only one type of questions, you should still produce output for all questions of the other
type.