Tiểu bang của bạn vừa mua một vùng đất rộng lớn, còn nguyên sơ, và muốn biến nơi đó thành một công viên thiên nhiên có các đường mòn đi bộ. Vùng đất có $n$ địa điểm đáng chú ý mà du khách có thể muốn đi bộ đến, trong đó có $k$ địa điểm rất đặc biệt. Tiểu bang muốn nối các địa điểm này bằng những đường mòn đi bộ. Có $m$ đường mòn ứng viên để lựa chọn, mỗi đường nối trực tiếp hai địa điểm đáng chú ý với chi phí khác nhau. Việc lựa chọn đường mòn phải thỏa mãn một số ràng buộc. Thứ nhất, phải có đúng một cách đi bộ từ bất kỳ địa điểm nào đến bất kỳ địa điểm nào khác. Thứ hai, phải có đúng $w$ đường mòn nối trực tiếp một địa điểm đặc biệt với một địa điểm thông thường. Dĩ nhiên, tiểu bang muốn giảm thiểu chi phí mở những đường mòn này.
Dữ liệu vào
Mỗi dữ liệu vào gồm một bộ kiểm thử duy nhất. Lưu ý rằng chương trình của bạn có thể được chạy nhiều lần với các dữ liệu vào khác nhau. Dòng đầu tiên chứa bốn số nguyên $n$, $m$, $k$ và $w$, trong đó $n$ ($2\le n\le2\cdot10^5$) là số địa điểm, $m$ ($1\le m\le5\cdot10^5$) là số đường mòn trực tiếp tiềm năng giữa các địa điểm, $k$ ($1\le k<n$) là số địa điểm đặc biệt, và $w$ ($1\le w\le n-1$) là số đường mòn trực tiếp nối địa điểm đặc biệt với địa điểm không đặc biệt mà tiểu bang muốn mở. Các địa điểm được đánh số $1..n$.
Mỗi dòng trong $k$ dòng tiếp theo chứa một số nguyên $s$ ($1\le s\le n$) chỉ ra các địa điểm đặc biệt. Các giá trị này đôi một khác nhau và được cho theo thứ tự tăng dần.
Mỗi dòng trong $m$ dòng tiếp theo mô tả một đường mòn tiềm năng mà tiểu bang có thể mở. Mỗi dòng gồm ba số nguyên $a$, $b$ và $c$, trong đó đường mòn sẽ nối các địa điểm $a$ và $b$ ($1\le a,b\le n$, $a\ne b$) với chi phí $c$ ($1\le c\le10^5$). Giữa hai địa điểm bất kỳ có nhiều nhất một đường mòn tiềm năng, và đường mòn từ $a$ đến $b$ cũng chính là đường mòn từ $b$ đến $a$.
Dữ liệu ra
In ra một số nguyên duy nhất, là tổng chi phí nhỏ nhất để tiểu bang mở các đường mòn trong công viên mới của mình mà vẫn thỏa mãn các ràng buộc, hoặc $-1$ nếu không thể thực hiện.
Ví dụ
Dữ liệu vào 1
3 3 1 2 2 1 2 2 1 3 1 2 3 3
Dữ liệu ra 1
5
Dữ liệu vào 2
3 1 1 1 2 1 2 2
Dữ liệu ra 2
-1