Wiejski listonosz musi dostarczać pocztę wszystkim mieszkańcom okolicy, którzy zamieszkują w wioskach i przy drogach łączących wioski.
Musisz pomóc listonoszowi wytyczyć trasę, która pozwoli mu   przejechać wzdłuż każdej drogi i odwiedzić każdą wioskę   w okolicy przynajmniej raz.
Tak się szczęśliwie składa, że w rozważanych  przykładach taka trasa zawsze istnieje.
Jednak wytyczone trasy mogą się różnić jakością, tzn.
listonosz może otrzymywać różną zapłatę za swą pracę w  zależności od wybranej trasy (jak się za chwilę przekonamy,   to nie zysk listonosza jest najważniejszy, a zysk jego firmy,  czyli poczty).
Mieszkańcy każdej wioski chcieliby, by listonosz docierał do  nich jak najwcześniej.
Każda wioska zawarła   więc z pocztą następującą umowę: jeżeli
-ta wioska jest  odwiedzana przez listonosza jako 
-ta w kolejności  (tzn.
listonosz odwiedził 
 różnych wiosek,
zanim po raz pierwszy dotarł do wioski 
) oraz 
,  to wioska płaci poczcie 
 euro.
Jeśli jednak 
, to wówczas  poczta płaci wiosce 
 euro.
Ponadto poczta płaci listonoszowi jedno euro za każdy przejazd  między dwiema kolejnymi wioskami   na jego trasie.
W rozważanej okolicy jest 
 wiosek, które oznaczamy liczbami  naturalnymi od 
 do 
.
Poczta znajduje się w wiosce oznaczonej  numerem 
, a więc trasa listonosza musi rozpoczynać się w tej wiosce.
W każdej wiosce zbiega się 2, 4 lub 8 dróg.
Pomiędzy dwiema wioskami może istnieć kilka różnych dróg;  droga może także powracać  do tej samej wioski, z której wyszła.
Twoim zadaniem jest napisanie programu, który:
  W pierwszym wierszu zapisane są  dwie liczby naturalne
 i 
,
  oddzielone pojedynczym odstępem;
liczba 
 (
) oznacza liczbę wiosek, a  
 jest liczbą dróg.
W każdym z kolejnych 
 wierszy znajduje się jedna liczba  naturalna (dodatnia).
Liczba w 
-szym wierszu oznacza 
(
), czyli  wstępną kwotę płaconą poczcie przez wioskę numer 
(kwota ta jest oczywiście modyfikowana   w opisany na początku zadania sposób).
W każdym z kolejnych 
 wierszy znajdują się po dwie liczby  naturalne, oddzielone
pojedynczym odstępem - oznaczają one numery wiosek, które łączy kolejna droga.
  Twój program powinien w pierwszym wierszu zapisać jedną dodatnią liczbę naturalną 
.
W kolejnym wierszu powinno znaleźć się 
 liczb, oznaczających
numery wiosek odwiedzanych kolejno przez listonosza  w ramach optymalnej trasy.
Dla danych wejściowych:
6 7 1 7 4 10 20 5 2 4 1 5 2 1 4 5 3 6 1 6 1 3
poprawną odpowiedzią jest:
7 1 5 4 2 1 6 3 1

In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.