돌 게임
면접 대비시간 제한1초메모리 제한128 MB
여러 개의 돌이 놓인 방향 비순환 그래프에서 두 사람이 번갈아 돌 하나를 간선을 따라 옮기며, 첫 번째 플레이어가 이기는지 판정한다.
문제
캡틴 아메리카가 코스믹 큐브를 되찾기 위해 악당 로키를 막 따라잡았고, 둘은 곧 격돌하려 한다. 하지만 계속 얻어맞는 데 지친 로키는 힘 대신 두뇌 싸움을 제안하고, 믿음직한 조수(바로 당신)의 실력을 믿는 캡틴 아메리카는 이를 받아들인다.
로키가 게임 규칙을 설명한다. 그는 방향이 있는 비순환 그래프(그림 참고)를 그리고, 각 정점 위에 돌을 몇 개씩 올려 둔다. 두 사람은 번갈아 가며, 어떤 정점 위의 돌 하나를 방향 간선을 따라 그 정점의 도착 정점 중 하나로 옮긴다. 예를 들어 아래 두 예시에서 정점 0 위의 돌은 정점 1로 옮길 수 있지만, 정점 1 위의 돌을 정점 0으로 옮길 수는 없다. 같은 정점 위에 여러 개의 돌이 동시에 있을 수도 있다. 자신의 차례에 어떤 돌도 옮길 수 없는 사람이 게임과 코스믹 큐브를 잃는다.
나가는 간선이 하나도 없는 정점을 싱크 정점이라고 하자. 싱크가 아닌 정점 위에 돌이 하나라도 있으면 항상 수를 둘 수 있으므로, 목표는 싱크가 아닌 정점에서 마지막 돌을 옮기는 사람이 되는 것이다.

그림: (1) 첫 번째 경우에는 둘 수 있는 수가 강제되어(선택지가 없음) 1번 플레이어가 이긴다. (2) 두 번째 경우에는 1번 플레이어가 첫 수로 무엇을 하든 2번 플레이어가 이길 수 있다.
로키는 당신에게 먼저 둘지 나중에 둘지를 고르게 한다. 올바른 선택이 무엇인지, 즉 양쪽이 최적으로 두었을 때 먼저 두는 쪽이 이기는지를 판단하라.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 두 정수 과 이 적힌 줄로 시작하며, 각각 정점의 수와 간선의 수이다 (, ). 다음 줄에는 개의 간선이 주어지며, 각 간선은 두 정수 , 로 표현되어 방향 간선 의 시작 정점과 도착 정점을 나타낸다(정점은 부터 까지 번호가 매겨진다). 그다음 줄에는 개의 정수 이 주어지며, 는 정점 에 처음 놓인 돌의 개수이다 (). 입력의 끝은 0 0이 적힌 줄로 표시되며, 이 줄은 처리하지 않는다.
출력
각 테스트 케이스마다 한 줄에, 먼저 두는 플레이어가 이기면 First를, 나중에 두는 플레이어가 이기면 Second를 출력한다. 양쪽 모두 최적으로 플레이한다고 가정한다.