불 켜기

불 켜진 인접 방으로 이동하며 스위치를 눌러 새 방을 밝히고 한 번이라도 불 켜진 방 수를 셉니다.

보통5BFS그래프면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

농부 존이 방 N×NN \times N개짜리 헛간을 새로 지었다. 방마다 (1,1)(1, 1)부터 (N,N)(N, N)까지 좌표가 붙어 있다. 어둠을 무서워하는 소 베시는 최대한 많은 방에 불을 켜려고 한다.

베시는 불이 켜져 있는 유일한 방인 (1,1)(1, 1)에서 출발한다. 어떤 방에는 다른 방의 불을 켜고 끌 수 있는 스위치가 달려 있다. 예를 들어 (1,1)(1, 1)의 스위치로 (1,2)(1, 2)의 불을 조작할 수 있다. 스위치는 베시가 그 방에 들어가 있을 때만 누를 수 있다. 베시는 불이 켜져 있는 방에만 들어갈 수 있고, 한 방에서 상하좌우로 인접한 방으로 움직인다.

불을 켠 방은 베시가 끝내 들어가지 못하더라도 개수에 포함한다. 처음부터 켜져 있는 (1,1)(1, 1)도 포함한다. 베시가 불을 켤 수 있는 방의 최대 개수를 구하시오.

입력

첫째 줄에 정수 NNMM이 주어진다. (2N1002 \le N \le 100, 1M200001 \le M \le 20000)

다음 MM개 줄에 정수 xx, yy, aa, bb가 주어진다. (x,y)(x, y)에 있는 스위치로 (a,b)(a, b)의 불을 켜고 끌 수 있다는 뜻이다. (1x,y,a,bN1 \le x, y, a, b \le N) 한 방에 스위치가 여러 개 있을 수 있고, 같은 방의 불을 조작하는 스위치도 여러 개 있을 수 있다.

출력

베시가 불을 켤 수 있는 방의 최대 개수를 출력한다.

힌트

첫 번째 예제에서 베시는 (1,1)(1, 1)의 스위치로 (1,2)(1, 2)(1,3)(1, 3)의 불을 켠다. (1,3)(1, 3)까지 걸어가면 (2,1)(2, 1)의 불을 켤 수 있고, (2,1)(2, 1)에서 다시 (2,2)(2, 2)의 불을 켠다. (2,3)(2, 3)은 어두워서 들어갈 수 없으므로 그 방에 있는 스위치는 누를 수 없다. 따라서 불을 켤 수 있는 방은 최대 5개다.