Карточний поєдинок Junior
Двоє гравців грають у гру. Кожен з гравців спочатку отримує деяку кількість карт (нехай буде n_1 та n_2 відповідно). Кожним ходом гравці вибирають по одній з наявних у них на руках карт, і потім відкривають їх. Більш слабка карта відкидається у відбій, а більш сильнішу гравець, який показав її, забирає назад. У випадку, якщо гравці показали однакові карти, вони обидві відкидаються у відбій. Гра продовжується до тих пор, доки хоча б у одного з гравців не закінчаться карти. Якщо при цьомц у одного з гравців залишилась ще хоча б одна карта, він отримує 1 очко, а суперник – 0. Якщо ж у обох гравців закінчились карти, кожен отримує по 0.5 очок. Усього є N типів карт. Відношення сили карт може бути не транзитивним і задається матрицею A. A_{ij } дорівнює 1, якщо карта i б'є карту j, і 0 у протилежному випадку. Потрібно визначити максимальний середній виграш гравця у припущенні, що другий гравець використовує рівномірну стратегію (тобто кожног ходу обирає одну зі своїх карт випадково з однаковою ймовірністю).
Обмеження
1 ≤ n_1, n_2, N ≤ 8. A_ij + A_ji =1 при i ≠ j, A_ii =0.
Вхідні дані
У першому рядку задається число N. Наступні N рядків містять по N чисел, які визначають матрицю A. Наступний рядок містить число n_1 та ще n_1 чисел, кожне з яких визначає тип відповідної карти першого гравця. У наступному рядку у аналогічному форматі задаються карти другого гравця.
Вихідні дані
Виведіть ціну гри для першого гравця з точністю не менше 10^{-8}.