#P14827. [Bulgarian2015组队赛]squarepart

[Bulgarian2015组队赛]squarepart

题目描述

在一个边与整数网格线平行的正方形网格区域中,正方形边界上的网格节点按连续的自然数编号。编号从正方形左下角(西南角)的点 11 开始,沿逆时针方向进行,如原题图所示。

之后,这个正方形被从网格中切出。随后,又沿着一些连接已编号点的线段对正方形进行了切割。

请编写程序 squarepart,求这些切割线将正方形分成了多少个部分。

输入格式

从标准输入读入:

第一行输入两个自然数 n,kn,k,用空格分隔。其中:

  • nn 表示正方形边长,即每条边上单位网格线段的数量;
  • kk 表示正方形从网格中切出之后,又沿连接已编号点的线段进行切割的次数。

接下来 kk 行,每行输入两个自然数 pi,qip_i,q_i,用空格分隔,表示沿编号为 pip_iqiq_i 的两个点之间的线段进行了切割。

输出格式

输出一行一个自然数,表示进行这些切割后,正方形被分成的部分数量。

数据范围

所有切割线互不相同,并且每条切割线都包含正方形的内部点。不存在“伪切割”,即不会出现连接同一条边上两个点的线段。

  • 1n10001 \le n \le 1000
  • 1k2001 \le k \le 200

样例

输入

8 6
23 15
19 28
1 18
30 14
9 21
17 1

输出

16

样例解释

该样例对应原题中的示意图。