잉그리드는 큰 기차역의 역장이고, 여러 업무 가운데 열차를 알맞은 승강장으로 보내는 일도 맡는다. 역에는 입구가 하나 있고, 열차를 다른 분기기나 승강장으로 보내는 분기기가 여러 개 있다.
분기기에는 들어오는 선로가 하나, 나가는 선로가 둘 있다. 승강장에는 들어오는 선로가 하나 있고, 역 입구에는 나가는 선로가 하나 있다. 나가는 선로는 각각 들어오는 선로 하나와 이어지고, 그 반대도 마찬가지다. 모든 분기기와 승강장은 역 입구에서 갈 수 있다.
승강장 쪽 선로는 막혀 있고, 열차는 승강장에 도착하는 즉시 사라진다고 본다.
매일 아침 잉그리드는 시간표를 보고 어떤 분기기를 언제 바꿀지 적은 조작 지시서를 만든다. 이 일을 대신 해 주는 프로그램을 작성하라.
첫 줄에 역에 있는 분기기와 승강장의 개수 n이 주어진다 (3≤n≤51).
다음 n개 줄 가운데 i번째 줄은 번호가 i인 분기기 또는 승강장을 설명한다. 줄은 승강장이면 문자 p로, 분기기면 문자 s로 시작한다. 이어서 정수 qi가 주어지는데, 들어오는 선로가 이어진 분기기의 번호이고 역 입구와 이어져 있으면 0이다 (0≤qi<i). 승강장 줄에는 마지막으로 승강장 이름인 알파벳 소문자 하나가 더 주어지며, 이름은 서로 다르다.
열차가 이어진 두 분기기 사이, 또는 분기기와 승강장 사이를 지나는 데 정확히 1분이 걸린다. 역 입구와 첫 분기기 사이도 1분이다. 즉 시각 a에 역 입구에 있던 열차는 시각 a+1에 입구와 이어진 분기기에 있다. 아침에 모든 분기기는 번호가 더 작은 쪽으로 열차를 보내도록 맞춰져 있다.
다음 줄에 시간표에 있는 열차의 수 m이 주어진다 (1≤m≤1000). 이어지는 m개 줄에는 정수 ai와 문자 pi가 주어진다 (0≤ai≤10000, ai>ai−1). ai는 열차가 역 입구에 도착하는 시각이고 단위는 분이며, pi는 그 열차가 가야 할 승강장의 이름이다.
첫 줄에 지시서에 담긴 명령의 개수 c를 출력한다. 이어지는 c개 줄에 명령을 하나씩 정수 두 개 si와 ti로 출력한다 (1≤si≤n, 0≤ti≤109). 분기기 si를 ti−1분과 ti분 사이에 반대 방향으로 바꾼다는 뜻이다.
정답으로 인정하는 지시서는 하나뿐이다. 다음 규칙을 그대로 따르라.
필요한 명령이 하나도 없으면 첫 줄에 0만 출력한다.