Как известно, ПРОШП является командной олимпиадой, а значит, согласно регламенту, принимать участие могут только команды, состоящие ровно из трёх человек. После того, как все, кто хотел, разбились на тройки, осталось $$$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 3antonboryavityagoshadenisanton boryavitya goshaborya denis
2
8 3annabellacindydoraelsafionaginnyhannahcindy ginnycindy hannahanna cindy
41
В первом примере возможны тройки ('anton', 'vitya', 'denis') и ('anton', 'gosha', 'denis').