Hər hansı bir narahatçılığa görə üzr istəyirik.#11109

Hər hansı bir narahatçılığa görə üzr istəyirik.

5 saniyə
128 meqabayt
Çətin

Krakovdakı Yagellon Universitetində təhsil almağın həm üstünlükləri, həm də çatışmazlıqları var. Üstünlüklərdən biri Yagellon Universitetinin özüdür. Çatışmazlıqlara isə Krakovun tramvay yollarının tez-tez yenidən qurulması zərurəti daxildir.

Əvvəlcə, ictimai nəqliyyat şəbəkəsi müəyyən sayda tramvay xətlərindən ibarətdir. Sonra bu xətlərdən biri dayandırılır, sonra digəri və daha biri... Krakovda dəyişməz bir qayda var: bir xətt işə başlamadan əvvəl həmişə bir xətt dayandırılır. Hal-hazırda bütün xətlər hələ dayandırılmayıb və siz tramvayda oturub düşünürsünüz ki, universitetlə birbaşa əlaqəniz yeni itdi. Pəncərədən baxaraq özünüzə sual verirsiniz: "Bu şəhərdə həqiqətən ən bəxtsiz sərnişin mənəm? Yoxsa haradasa daha çox dəyişiklik etməli olan biri var ki, istədiyi yerə çatsın?"

Daha dəqiq desək, B dayanacağı A dayanacağından c dəyişikliklərlə əldə edilə bilər, əgər l[0], ..., l[c] xətləri varsa ki, l[0] A dayanacağını, l[c] isə B dayanacağını xidmət edir və hər bir 0 ≤ i < c üçün l[i] və l[i+1] tərəfindən xidmət edilən müəyyən bir dayanacaq mövcuddur. Siz hər an A və B dayanacaqları arasında c dəyişikliklərlə B-yə gedilə bilən, lakin hər hansı c' < c üçün B-yə gedilə bilməyən bir cüt dayanacaq (A, B) üçün ən böyük c dəyərini bilmək istəyirsiniz.

Qeyd edək ki, bəzən ümumiyyətlə dayanacaqlar arasında keçid etmək mümkün deyil. Yuxarıda göstərilən tərifdən göründüyü kimi, siz bu cütləri analizinizə daxil etməməyi qərara alırsınız - əgər kimsə bu dayanacaqlar arasında keçid etmək istəyirsə, Uber-dən istifadə edəcək.

Giriş məlumatları

Birinci sətir z testlərin sayını (1 ≤ z ≤ 35) ehtiva edir. Sonra testlərin təsviri gəlir.

Hər testin birinci sətiri dayanacaqların sayı n və tramvay yollarının sayı k (2 ≤ n, k ≤ 750) ehtiva edir.

Dayanacaqlar 1-dən n-ə qədər, xətlər isə 1-dən k-ə qədər nömrələnir.

Sonra k sətir gəlir. Bu sətirlərdən i-ci i nömrəli tramvay xəttinin marşrutunu təsvir edir. Hər sətir tam ədəd r[i] (2 ≤ r[i] ≤ n) ilə başlayır, sonra isə r[i] fərqli tam ədəd a[i,j] (1 ≤ a[i,j] ≤ n) gəlir - i-ci tramvay marşrutu tərəfindən xidmət edilən dayanacaqların identifikatorları. Hər hansı bir tramvay xətti hər iki istiqamətdə gedir.

Növbəti sətir bir tam ədəd s (1 ≤ s ≤ k − 1) ehtiva edir.

Sonra s sətir gəlir, tramvay yollarının dayandırılma ardıcıllığını təsvir edir. Bu sətirlərin hər biri bir tam ədəd s[i] (1 ≤ s[i] ≤ k) ehtiva edir - dayandırılmış tramvay xəttinin identifikatoru. Hər hansı bir xətt yalnız bir dəfə dayandırıla bilər.

Bütün testlərdə n və k dəyərlərinin cəmi 1000-dən çox deyil.

Çıxış məlumatları

Hər test üçün s + 1 sətir çıxarın, hər biri bir tam ədəd ehtiva edir. i + 1-ci sətirdə i-ci dayandırma hadisəsindən sonra xətlər arasında ediləcək ən çox dəyişiklik sayını çıxarın (birinci sətir hər hansı dayandırmadan əvvəlki cavabı ehtiva edir).

Qeyd

Əvvəlcə, məsələn, 4 dayanacağından 5 dayanacağına (və ya əksinə) keçmək üçün bir dəyişiklik tələb olunur. Bu keçid 2 marşrutu ilə, sonra 1 marşrutu ilə mümkündür. 2 və ya daha çox dəyişiklik tələb edən dayanacaq cütləri yoxdur.

1 xətti çıxarıldıqdan sonra 1 dayanacağından 3 dayanacağına (və ya əksinə) keçmək üçün iki dəyişiklik tələb olunur.

1 və 4 xətləri çıxarıldıqdan sonra bir-birinə hələ də çata bilən yeganə dayanacaq cütləri (1, 4) və (2, 3)-dür və hər iki halda keçid üçün heç bir dəyişiklik tələb olunmur.

1, 4 və 3 xətləri çıxarıldıqdan sonra bir-birinə çata bilən yeganə dayanacaq cütü (1, 4)-dür. Bu dayanacaqlar arasında keçid üçün heç bir dəyişiklik tələb olunmur.

Nümunələr

Nümunə 1

Loading
Loading