큐브 쌓기
면접 대비시간 제한2초메모리 제한1024 MB
큐브가 하나씩 놓인 N개의 스택에서 한 스택을 다른 스택 위에 올리는 연산과, 주어진 큐브 아래에 있는 큐브 수를 세는 연산을 처리합니다.
문제
Farmer John과 Betsy가 1부터 N까지 번호가 붙은 동일한 큐브 N개(1 ≤ N ≤ 30,000)로 게임을 한다. 처음에는 큐브가 하나씩 들어 있는 스택 N개가 있다. Farmer John은 Betsy에게 P개(1 ≤ P ≤ 100,000)의 연산을 수행하라고 요청한다. 연산은 이동과 세기 두 종류이다.
- 이동 연산에서 Betsy는 큐브 X가 들어 있는 스택을 큐브 Y가 들어 있는 스택 위로 옮긴다.
- 세기 연산에서 Betsy는 큐브 X가 들어 있는 스택에서 큐브 X 아래에 있는 큐브의 개수를 세고, 그 값을 보고한다.
이 게임의 결과를 검증하는 프로그램을 작성하라.
입력
첫 줄에 정수 P가 하나 주어진다. 이어지는 P개의 줄은 각각 합법적인 연산 하나를 나타낸다. 줄은 이동 연산이면 M, 세기 연산이면 C로 시작한다. 이동 연산의 줄에는 정수 X와 Y가, 세기 연산의 줄에는 정수 X 하나가 들어 있다.
입력에는 N의 값이 주어지지 않는다. 스택을 자기 자신의 위로 옮기는 이동 연산은 없다.
출력
세기 연산의 결과를 입력에 나오는 순서대로 한 줄에 하나씩 출력한다.