Dijkstra’s SSSP – Jalur Antar Bahasa (B03) John dan Mary adalah dua bersaudara yang sangat menggemari bahasa asing. Masing-masing dari mereka mengikuti beberapa kursus bahasa. Setiap selesai mengikuti kursus, mereka bercakap-cakap tentang katakata baru yang mereka kenali. Suatu ketika, mereka menemukan bahwa ada kata-kata yang dimiliki oleh beberapa bahasa sekaligus. Misalnya, kata “amigo” muncul dalam Bahasa Portugis dan Spanyol, dan memiliki arti yang sama. Contoh lain adalah kata “date”, muncul dalam Bahasa Inggris dan Perancis, namun artinya mungkin berbeda (karena “date” merupakan nama buah dan juga berarti “tanggal”). Contoh lainnya lain, kata “red” di dalam Bahasa Spanyol berarti jaringan, dan dalam Bahasa Inggris merupakan nama warna. Atas penemuan menarik ini, John menantang Mary dalam sebuah permainan. Diberikan bahasa awal dan bahasa akhir, dapatkah Mary menemukan sederetan kata-kata yang menghubungkan keduanya. Misalnya, jika bahasa awalnya adalah Portugis, dan bahasa akhirnya adalah Perancis, Mary dapat menjawab “amigo actual date” (Portugis/Spanyol, Spanyol/Inggris, Inggris/Perancis). Supaya lebih menarik, John menambahkan sebuah aturan baru pada permainan ini. Jika ada beberapa kemungkinan jawaban, Mary harus menjawab dengan deretan kata yang memiliki jumlah huruf paling sedikit (spasi tidak dihitung). Misalnya, untuk contoh diatas, terdapat 15 huruf. Tapi ada kemungkinan jawaban lain yang hanya mengandung 12 huruf, yaitu : “amigo red date”. Buatlah sebuah program yang dapat membantu Mary menyelesaikan permainan ini. Anda hanya diminta untuk menampilkan jumlah huruf dari solusi terbaiknya. Spesifikasi Input Input terdiri dari beberapa tes kasus. Baris pertama dari sebuah tes kasus terdiri dari sebuah bilangan bulat M (1 ≤ M ≤ 500 ), menunjukan jumlah kata-kata yang dimiliki oleh dua bahasa. Baris kedua mengandung dua buah string, yaitu nama bahasa awal dan akhir. M baris berikutnya masing-masing terdiri dari 3 string, L1, L2, dan W, dimana W merupakan kata yang dimiliki oleh bahasa L1 dan L2 (L1 dan L2 selalu berbeda). Semua string memiliki panjang ≤ 50 dan hanya terdiri dari huruf kecil saja. Pasangan bahasa L1 dan L2 mungkin muncul lebih dari satu kali, namun kata W tidak akan muncul lebih dari satu kali per test case. Akhir dari input ditandai dengan sebuah baris yang berisi sebuah angka 0. Spesifikasi Output Untuk setiap tes kasus, tampilkan sebuah angka yang menunjukan jumlah huruf dari solusi terbaik, atau tampilkan string “impossivel” (berarti “tidak mungkin” dalam Bahasa Portugis) jika tidak ada solusi. Contoh Input Contoh Output 4 portugues frances ingles espanhol red espanhol portugues amigo frances ingles date espanhol ingles actual 4 12 impossivel 5 portugues alemao ingles espanhol red espanhol portugues amigo frances ingles date espanhol ingles actual 6 portugues frances ingles espanhol red espanhol portugues amigo frances ingles date frances espanhol la portugues ingles a espanhol ingles actual 0