브리타니아를 정복한 로마 장군 아그리콜라는 새로 얻은 도시마다 그 지방에 널린 샘물을 끌어오기로 했다. 참모 웨수스 와테루스가 수로 설계를 맡았다.
샘과 도시 사이에는 언덕과 골짜기가 있다. 수로는 구간을 이어 붙여 만들고, 모든 구간은 한 언덕 꼭대기에서 시작해 다른 언덕 꼭대기에서 끝난다. 물은 아래로만 흐르므로 구간은 반드시 더 높은 언덕에서 더 낮은 언덕으로 놓는다. 높이가 같은 두 언덕 사이에는 구간을 놓을 수 없다. 구간 아래에 언덕이나 샘, 도시가 있어도 상관없다. 그대로 뚫고 지나갈 수 있다. 다만 로마의 기술로 놓을 수 있는 구간 하나의 길이는 q 이하다.
구간의 길이는 두 언덕 꼭대기 사이의 3차원 유클리드 거리 (x1−x2)2+(y1−y2)2+(h1−h2)2이다. 샘에서 도시까지 이어지는 수로의 길이는 그 수로를 이루는 구간 길이의 합이다.
도시는 저마다 다른 샘에서 물을 받아야 하고, 한 샘이 두 도시를 맡을 수는 없다. 수로끼리 서로 교차해도 된다. 모든 도시에 물을 대는 수로 길이의 합을 가장 작게 만들어라.
첫째 줄에 정수 n, s, t, q가 주어진다. n은 언덕의 수 (0<n≤500), s는 샘의 수 (1≤s≤40), t는 도시의 수 (1≤t≤s), q는 구간 하나의 최대 길이 (1≤q≤3×106)다.
다음 n개 줄에는 언덕의 좌표와 높이를 나타내는 정수 xi, yi, hi가 공백으로 구분되어 주어진다 (0≤∣xi∣,∣yi∣,hi≤106). 언덕 번호는 주어진 순서대로 1번부터 n번이다.
다음 줄에는 정수 s개가 공백으로 구분되어 주어진다. 샘이 있는 언덕의 번호다.
다음 줄에는 정수 t개가 공백으로 구분되어 주어진다. 도시가 있는 언덕의 번호다.
한 언덕에 샘이나 도시는 최대 하나만 있다.
모든 도시가 서로 다른 샘에서 물을 받도록 할 때 수로 길이 합의 최솟값을 소수점 아래 여섯 자리까지 반올림해 한 줄에 출력한다. 그렇게 물을 댈 방법이 없으면 IMPOSSIBLE을 출력한다.