N명이 참가하는 대회에서 경기가 K번 열린다. 한 경기에는 서로 다른 두 선수가 나선다. 한 선수가 치르는 경기 수에는 제한이 없고, 모든 상대와 한 번씩 겨룰 필요도 없다. 한 경기도 치르지 않는 선수가 있어도 된다. 무승부는 없어서 경기마다 한 명이 이기고 다른 한 명이 진다.
경기가 모두 끝나면 선수의 순위를 매긴다. 순위를 정하지 못하는 이유는 여러 가지지만 이 문제에서는 승패가 순환하는 경우만 다룬다. 예를 들어 A가 B를 이기고 B가 C를 이겼는데 다시 C가 A를 이겼다면, 이 세 선수의 상대적인 순위는 정하지 못한다.
정확히 말하면, 서로 다른 선수 P1,P2,…,Pm (m≥2)이 있어 P1이 P2를 이기고 P2가 P3을 이기고 같은 식으로 이어져 Pm이 P1을 이긴 기록이 있으면, 이 m명의 순위는 순환 때문에 정하지 못한다. 두 선수가 두 번 맞붙어 한 번씩 이긴 경우가 m=2에 해당한다. 한 선수가 여러 순환에 동시에 속할 수 있는데, 그런 선수도 한 번만 센다.
순환에 걸린 선수만 세므로 다른 이유로 순위를 정하지 못하는 선수, 예를 들어 한 경기도 치르지 않은 선수는 세지 않는다.
경기 결과가 주어질 때 순환 때문에 순위를 정하지 못하는 선수가 몇 명인지 구하는 프로그램을 작성하시오.
첫째 줄에 선수의 수 N과 경기 수 K가 빈 칸을 사이에 두고 주어진다. (2≤N≤20, 1≤K≤30) 선수는 1번부터 N번까지 번호로 구분한다.
다음 K개 줄에는 각 줄마다 한 경기의 결과가 정수 네 개 a, b, sa, sb로 주어진다. a와 b는 경기를 치른 두 선수의 번호이고, sa와 sb는 각각 선수 a와 선수 b가 얻은 점수다. 모든 점수는 10보다 작은 음이 아닌 정수이며, 점수가 더 큰 선수가 이긴다.
순환 때문에 순위를 정하지 못하는 선수의 수를 출력한다.