남극 탐험
시간 제한30초메모리 제한512 MB
다리 추가와 펭귄 수 갱신이 섞여 들어오는 숲에서 두 섬의 연결 여부와 경로 위 펭귄 수 합을 구한다.
문제
상근이는 여행사 "얼음을 꿈꾸다"의 사장이다. 이 여행사는 남극 근처의 섬 개를 사서 당일치기 여행 상품을 운영한다. 관광객에게 가장 인기 있는 동물은 황제펭귄이고, 섬에서 쉽게 볼 수 있다.
여행사가 인기를 얻으면서 보트로 관광객을 옮기는 방식은 더 이상 효율적이지 않게 되었다. 상근이는 섬 사이에 다리를 놓고 관광객을 버스로 이동시키려 한다. 다리를 놓는 과정은 컴퓨터 프로그램으로 관리한다.
섬에는 번부터 번까지 번호가 붙어 있다. 처음에는 다리가 하나도 없고, 각 섬에 사는 펭귄의 수도 모두 알고 있다. 펭귄의 수는 바뀔 수 있지만 항상 이상 이하다.
상근이의 프로그램은 다음 세 가지 명령을 수행할 수 있어야 한다.
bridge A B: 섬 와 사이에 다리를 놓는 명령이다. (와 는 다르다) 지금까지 놓인 다리만으로는 에서 로 갈 수 없을 때에만 다리를 놓아야 한다. 다리를 놓아야 하면yes, 이미 갈 수 있어서 놓을 필요가 없으면no를 출력한다.penguins A X: 섬 에 사는 펭귄의 수를 다시 세어 보니 마리가 되었다는 명령이다. 아무것도 출력하지 않는다.excursion A B: 관광객이 섬 에서 시작해 에서 끝나는 경로로 여행하는 명령이다. 에서 로 갈 수 있으면 이동하는 섬에 있는 모든 펭귄의 수를 구해 출력한다. (와 도 포함한다) 갈 수 없으면impossible을 출력한다.
상근이의 프로그램을 작성하시오.
bridge와 excursion 명령에 대한 답을 출력하기 전에는 다음 명령이 주어지지 않는다. 따라서 출력한 뒤에는 표준 출력 버퍼를 flush해야 한다.
입력
첫째 줄에 섬의 수 ()이 주어진다.
둘째 줄에 각 섬에 있는 펭귄의 수가 주어진다.
셋째 줄에 명령의 개수 ()가 주어진다.
다음 개 줄에 문제에서 주어진 명령 중 하나가 주어진다.
출력
bridge나 excursion 명령이 주어질 때마다 출력한다.