Statement is not available in English language
E. Команды на ПРОШП
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
16 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Как известно, ПРОШП является командной олимпиадой, а значит, согласно регламенту, принимать участие могут только команды, состоящие ровно из трёх человек. После того, как все, кто хотел, разбились на тройки, осталось $$$n$$$ желающих принять участие, но не сумевших найти себе единомышленников.

Ваша задача узнать, сколько различных команд из трёх человек можно из них сформировать. Две команды считаются различными, если существует человек, который присутствует в одной команде, но не присутствует в другой.

Позднее вам стало известно, что существует $$$m$$$ пар человек, которые наотрез отказываются состоять в одной команде, поэтому эти пожелания тоже необходимо учитывать.

Входные данные

В первой строке вводятся два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n \le 300$$$, $$$0 \le m \le \frac{n\cdot(n - 1)}{2}$$$) — количество школьников без команды и количество пар неприятелей.

В следующих $$$n$$$ строках вводятся имена школьников. Все имена различны, состоят из строчных букв латинского алфавита и по длине не превосходят 10 символов.

В следующих $$$m$$$ строках вводятся по две строки $$$s_i$$$ и $$$t_i$$$ ($$$s_i \neq t_i$$$) — имена учеников, которые отказываются быть в одной команде. Каждая пара встречается не более одного раза.

Выходные данные

В единственной строке выведите количество возможных троек участников с учётом всех пожеланий по модулю $$$10^9 + 13$$$.

Примеры
Входные данные
5 3
anton
borya
vitya
gosha
denis
anton borya
vitya gosha
borya denis
Выходные данные
2
Входные данные
8 3
anna
bella
cindy
dora
elsa
fiona
ginny
hannah
cindy ginny
cindy hannah
anna cindy
Выходные данные
41
Примечание

В первом примере возможны тройки ('anton', 'vitya', 'denis') и ('anton', 'gosha', 'denis').