La aerolínea FlightMania quiere asegurarse de que su sistema de aeropuertos y vuelos permita alcanzar cualquier aeropuerto desde cualquier otro mediante una secuencia de vuelos. Por desgracia, ahora mismo su red de aeropuertos puede no cumplir esta condición. Tu tarea es determinar el número mínimo de vuelos adicionales que tenemos que añadir.
Entrada
La entrada consiste en varios casos de prueba. Cada caso de prueba comienza con dos enteros \(n\) y \(m\) \((1 \le n \le 300, 0 \le m \le n \cdot (n-1))\), representando el número de aeropuertos y el número de vuelos directos existentes, respectivamente.
Las siguientes \(n\) líneas contienen el nombre de cada aeropuerto. Todos los nombres son únicos y tienen hasta 10 caracteres.
Las siguientes \(m\) líneas contienen vuelos directos en el formato \(u\) -> \(v\), indicando un vuelo desde el aeropuerto \(u\) al aeropuerto \(v\).
La entrada finalizará con un caso de prueba donde no hayan aeropuertos ni vuelos, que no se deberá procesar.
Salida
Para cada caso de prueba, imprime una línea con el número mínimo de vuelos necesarios que se deben añadir para que desde cada uno de los aeropuertos se pueda llegar a cualquier otro.